У меня в контроллере стало слишком много SQL-запросов. В смысле, самих запросов-то не так много, но они довольно длинные. Думаю о том, куда бы их лучше вынести из контроллера. Может, создать модель страницы и вынести туда?
Только убедительная просьба - не отвечайте абстрактно типа "это можно сделать самыми разными способами, всех и не перечесть". Пожалуйста, предложите конкретное решение, которое Вы считаете лучшим.
Мне особенно понравился такой пример организации модели, предложенный на Laracasts:
app
/myApp (or project)
/posts (post example, but same for all product features, Users, etc. I remove directories that are not relevant)
/repository
/contracts
/commands
/services
/exceptions
/events
/documentation (I like to keep project documentation in the relevant areas vs centralized )
/middleware
Abstract class
Post.php (model)
PostManager.php (management code)
Я пока до конца не понимаю назначение и особенности всех этих элементов модели, но хотел бы разобраться.
Если там пару строчек то не надо, если там сложные выборки, условия, фильтры, сортировки и тд то лучше выносить в модель чтобы не захламлять контроллер. В контроллерах должно быть минимум функционала, вся логика должна быть в моделях или в сервисах. Вся логика, что касается базы данных - в моделях
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости