Как запретить Doctrine делать дополнительный запрос на заполнение ArrayCollection?
Doctrine 2.7
Допустим есть две сущности Foo и Bar
У Foo есть OneToMany $bars (которое само собой ArrayCollection)
У Bar соответственно есть ManyToOne $foo.
В репозитории через query builder создаю запрос на получение записи из Foo.
Если в запросе к Foo есть джоины связей Bar (и их селект) и по ним выполняются условия where, тогда потом при получении через геттер $bars в ArrayCollection попадают только те записи из Bar, которые были выбраны в запросе.
Если же связи из Bar в запросе не были добавлены в select и/или вообще не джойнились, то тогда при получении геттером $bars доктрина сама выполняет ещё один запрос на получение всех связей из Bar и отдает их.
Вопрос: как не допустить ей делать этот дополнительный запрос и если связи не были выбраны в самом запросе, отдавать пустой массив?
Максим Федоров, да, ArrayCollection я задаю в конструкторе, но это не помогает. То есть если в запросе не был добавлен в селект, при обращении к $this->bars доктрина допзапросом берет все записи