Основная проблема в том, что у популярных РНР фреймворков нет модели вообще.
А моделью называется тот самый ORM.
Соответственно, от использования ОРМ в контроллере отказаться в принципе невозможно. А сама идеология фреймворка склоняет к тому, что моделью выступает контроллер - в котором и пишется вся бизнес-логика.
В случае с Ларавелью мы получаем
- Модели лежит в папке Controllers, при этом используя
- ORM из папки Models для манипуляции с данными
- Визуальное отображение лежит в папке Views
- Секретарша лежит в routes.php.
Отсюда становится видно, что проблема с квери-билдерами - мелкая и надуманная. И для её решения достаточно применить здравый смысл - если вызов однострочный и читаемый, то дергаем прямо в контроллере. Если посложнее - делаем отдельный метод в "модели".