Как разделить модели в Laravel?
Разделять модели имеет смысл, только если вы, по каким-то причинам, хотите иметь ActiveRecord отдельно от классического понятия модели в MVC. Обычно все кидают все в кучу, и разделять ничего не нужно. Те части, которые отвечают за представление данных в ответах, нужно вынести в ресурсы. Скоупы, особенно если они у вас повторяются, можно вынести в трейты, а тяжелый, массивный функционал, возможно, потянет на отдельный класс или даже сервис.
Меня несколько коробит тот факт, что в некоторых фреймворках AR является моделью. Однако разделять их геморрой и неоправданно в 98% случаев.
верно мыслишь.
Сервисный слой называется.
В сервисах содержится бизнес логика, а в моделях релейшены, скоупы и т.п.