spacenear
@spacenear
React Web Developer

Как разделить модели в Laravel?

Я новичок в Laravel и хочу разобраться как модели организовывать. Вот я создал App/Models папку и туда попадают модели которые создаются Eloquent и работают с базой данных.

А где размещать модели которые будут иметь такое же название и работать с этой же сущностью, но будут содержать уже мои методы для работы с этой сущностью?
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
Разделять модели имеет смысл, только если вы, по каким-то причинам, хотите иметь ActiveRecord отдельно от классического понятия модели в MVC. Обычно все кидают все в кучу, и разделять ничего не нужно. Те части, которые отвечают за представление данных в ответах, нужно вынести в ресурсы. Скоупы, особенно если они у вас повторяются, можно вынести в трейты, а тяжелый, массивный функционал, возможно, потянет на отдельный класс или даже сервис.

Меня несколько коробит тот факт, что в некоторых фреймворках AR является моделью. Однако разделять их геморрой и неоправданно в 98% случаев.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vism
верно мыслишь.
Сервисный слой называется.
В сервисах содержится бизнес логика, а в моделях релейшены, скоупы и т.п.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы