Как варьировать типы загрузки (жадная/ленивая) в разных случаях для одной и той же модели Doctrine?
пример: есть товары, категории товаров, поставщики товаров
На странице списка категорий мне нужны только категории
На странице редактирования категории мне нужны категории и все связанные с ними товары (для простоты связь: одна категория - ко многим товарам)
На странице категорий для пользователя мне нужны все категории с предварительно загруженными поставщиками в этих категориях.
проблема в том, что если я сделаю жадной грузкой товары у категорий, то товары будут выбираться и на других страницах, хотя везде они не нужны.
А если выбирать не жадно, то для 10 категорий будет 11 запросов в бд.
Как лучше разруливать что для каких страниц выбирать.?
После опыта с eloquent хочется аналога with.
Наверняка с доктриной подобные проблемы уже решены.
Я предпочитаю решать эти вопросы через DQL.
Т.е. в первом случае SELECT c FROM Category c;
Во втором случае SELECT p, c FROM Product p JOIN p.category;
И т.п. https://doctrine-orm.readthedocs.io/en/latest/refe...