La carga perezosa adicional de la doctrina no funciona como se espera con el conteo
Tengo una entidadShop
y una entidad relacionadaShopProduct
, con la siguiente relación:
/**
* @ORM\OneToMany(targetEntity="ShopProduct", mappedBy="shopid", fetch="EXTRA_LAZY")
*/
private $products;
En una plantilla de ramita quiero acceder a lacontar deproducts
, asi que accedo
{{ entity.getProducts().count }}
Pero cuando utilizo el generador de perfiles symfony2 para ver el número y el contenido de las consultas, veo que se emite una selección completa, en lugar deCOUNT
Yo esperaría (basado enla documentación).
Emitiendo la selección completa para cada uno de losShop
s da como resultado un uso de memoria de 250Mb + y un tiempo de carga de la página de más de 30 segundos, lo cual no es deseado.
Después de agregar elfetch="EXTRA_LAZY"
He borrado las memorias caché de la doctrina.
¿Estoy pasando por alto algo, utilizando el enfoque equivocado o malinterpretando los documentos?
[editar]
doctrine/annotations v1.1
doctrine/cache v1.0
doctrine/collections v1.1
doctrine/common 2.4.0-RC1
doctrine/data-fixtures dev-master eef10f6
doctrine/dbal 2.3.3
doctrine/doctrine-bundle v1.2.0-beta1
doctrine/doctrine-fixtures-bundle dev-master 275540d
doctrine/doctrine-migrations-bundle dev-master 99c0192
doctrine/inflector v1.0
doctrine/lexer v1.0
doctrine/migrations dev-master e1f6efc
doctrine/orm 2.3.3