классы с бизнес логикой не зависят от классов лары вообще, для взаимодействия с бд делается репозиторий, туда выносится все, что касается элокента, репо покрывается фича тестами, сам класс с логикой - юнитом с моком этого репа
для меня это просто класс, который дает возможность получить из бд / сохранить в бд. вся логика - в другом месте, и с этим нет проблем вообще, ну там понятно какие-то методы вроде getFullName в юзера можно добавить, и т д. но это мелочи. бизнес логики там нет.
А почему был сделан вывод, что фрейморк говно, а не что система типов недостаточно гибкая?
не понятно где что. и все. больше нет претензий) миксед на микседе и микседом погоняет. кроме того, обилие вранья вида Collection|SomeModel[] - не бывает так. это Collection<SomeModel> должно было быть.