Как отключить автоматическую загрузку всех связанных сущностей при сериализации? - PullRequest
0 голосов
/ 10 июня 2019

Symfony 4 с JMS.

Родительский класс связан с дочерним классом OneToMany.В репозитории у меня есть несколько родителей и несколько детей (осталось присоединиться с условием).Однако при попытке сериализации Parents JMS автоматически получает все (!) Дочерние элементы из базы данных, делая дополнительные запросы к базе данных.Как я могу избежать этого?Есть ли какая-либо опция в конфигурации JMS?

Единственное, что мне приходит в голову, - это версия VirtualProperty(), в которой я буду фильтровать дочерние элементы уже внутри сущности.Но это не очень эффективно.

UPD .Я хочу сериализовать это поле, но не все дочерние объекты.Только удовлетворяющие условию.В репозитории я делаю ->leftJoin('p.children', 'c', 'WITH', 'c.foo = bar'), но сериализатор загружает элементы, которые не находятся в состоянии, отдельными запросами.Это проблема

1 Ответ

0 голосов
/ 10 июня 2019

Использовать группы сериализации, чтобы выбрать, какие атрибуты вы хотите, и ограничить детей с помощью maxDepth?

...