carga extra preguiçoso doutrina não funciona como esperado com a contagem
Eu tenho uma entidadeShop
e uma entidade relacionadaShopProduct
, com a seguinte relação:
/**
* @ORM\OneToMany(targetEntity="ShopProduct", mappedBy="shopid", fetch="EXTRA_LAZY")
*/
private $products;
Em um modelo de galho, quero acessar ocontagem doproducts
, então eu acesso
{{ entity.getProducts().count }}
Mas ao usar o profiler do symfony2 para examinar o número e o conteúdo das consultas, vejo que uma seleção completa é emitida, em vez daCOUNT
Eu esperaria (baseado ema documentação).
Emitindo a seleção completa para cada um dosShop
s resulta em um uso de memória de 250Mb + e um tempo de carregamento de página de 30+ segundos, o que é indesejado.
Depois de adicionar ofetch="EXTRA_LAZY"
Eu limpei os esconderijos da doutrina.
Estou negligenciando algo, usando a abordagem errada ou entendendo mal os 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