Да. И тут на первый план выхолдит организация ORM и становится очевидной превосходство стратегии Data Mapper, когда слой работы с БД полностью отвязывается от объекта бизнес-логики.
Так что да, я бы написал в маппере отдельный метод, который делает джойн и заполняет из результатов коллекцию, создавая по ходу все нужные объекты.
И когда появится свойство категория, надо будет дописать код, который подгружает категории тоже. Вообще, Доктрина пытается автоматизировать этот процесс тоже, но там можно очень быстро намотаться на шпиндель и оторвать себе руку.
Некоторые идут ещё дальше, и не пишут методов, которые возвращают универсальную коллекию, а пишут отдельный метод для каждого случая, когда требуются данные товара - для каталога один, для корзины - второй и т д.
И это мы сейчас говорим о read-моделях, и даже не трогали тему write models - то есть сохранения измененного объекта - со всеми гроздьями смежных объектов(!) - в БД!
Была картинка, но не того кода, который не работает, а просто черновика от балды.
Видимо, автор все-таки устыдился и сейчас готовится ко второй попытке выкатить код
Ну где ж он норм? Умерший 10 лет назад СI на втором месте.
Я кстати понял, в чем спам. Чувак пиарит Swoft и ради этого даже статью про фреймворки накатал. С анализом уровня блогспама индусских бодшопов. "Этот быстрый, это для энтерпрайза, этот легко устанавливать".
Yii - очень безопасный. Ага, остальные все дырявые.
Ci легко установить, в отличие от остальных, которые сложно. Это он серьёзно?
Со сложностью установки у автора вообще не заладилос. Отлитчительная черта фалькона - легкость установки. Ага, вот расскажи нубу с сипанелью что ему кастомный экстеншен надо в пхп добавить.
Статья - голимый, а главное бесполезный спам.