Просмотрел несколько примеров Repository для Laravel. По сути это обертки над ActiveRecord, которые возвращают коллекции ActiveRecord . Получается польза нулевая, если вообще не отрицательная.
Варианты решения:
1. Возвращать в методах репозитория только массивы.
2. Возвращать в методах Entity, но тогда нужно писать гидраторы.
3. Прикрутить Doctrine, но есть ли смысл тогда вообще использовать laravel ?!
А как Вы решаете эту проблему в своих проектах. Посоветуйте, пожалуйста ?
3. Прикрутить Doctrine, но есть ли смысл тогда вообще использовать laravel ?!
Laravel используют не только из-за Eloquent, а Symfony не только из-за Doctrine, если Вы об этом. Смысл наверное есть, есть Вам нужна именно такая связка... это же модульные фреймворки, есть смысл собирать из них то, что оптимально решает задачу N (придумать задачу, в которой именно такая связка будет наиболее оптимальной - думаю, не сложно) :)
Не использую совместно с AR, польза действительно нулевая. Придерживаюсь только одного правила - считаю что методы модельки protected (save-find-where) и не дёргаю их за пределами модели , всегда создаю свои методы. Так всё инкапсулируется в одном месте и затем легко расширять, менять, рефакторить и т.д.