Комментарии 3
В теории можно сделать всё проще, написав в репо метод с fetch join, в котором перечислить дополнительные нужные вам сущности и вы сможете получить сразу всё, что нужно, через один запрос и доктрина вам заботливо это разложит в удобном виде.
Делать конечно валидацию в самом контроллере это треш, что бы небыло lazy load в репазитории можно написать sql запрос и там джойн
Так в доктрине если в селекте указать связанные сущности в запросе она автоматом жадно загрузит. Тоесть в репе у вас запрос который принимает ваш with параметр и докидывает join с addSelect к базовому запросу. Про квери билдер он же есть в ентити менеджере в доктрине и доступен в репозитории, зачем городить еще один класс.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Загрузка ассоциаций по запросу в Symfony