Владимир Сингхтлов, Так как я до сих пор не получил внятного понимания о том, как этот код планирует работать, то я даю следующий совет. Воспользуйтесь шаблоном "Стратегия". Здесь общим функционалом будет стратегия обновления записи. Вы можете создать несколько подклассов наследующихся от стратегии и необходимых для работы и затем динамически их подменять в контроллере.
Если будет больше информации по коду - скажу более конкретно. Пока так.
Владимир Сингхтлов, Давайте объективно.
Действие одно и то же, верно? Обновление записи. Даже правильнее не так: обновление записи есть запись в базу данных нового значения. Разве оно может быть разным? Нет, не может.
Единственное, что может отличаться - выбор тех вещей, которые допустимы для обновления для каждой из ролей. Но эта часть уже вполне легко читается и пишется.
Владимир Сингхтлов, То есть вы хотите продублировать функционал для каждой роли? Приведите мне пример, когда для каждой роли требуется свой контроллер.
Владимир Сингхтлов, Я еще раз прочитал. И не вижу проблемы. Вам не кажется, что если вопрос не понят, то проблема в вопросе. Я понял его так: у вас проблема с тем, что вы не можете организовать допуски ролей к различным методам и контроллерам.
Руслан Абсалямов, При этом подходе также имеются ключи и такое прочее.
Просто команда длиннее. Тем более, с российскими блокировками роскомнадзора, недоступен для пинга ресурс cabinet.laravel.com, к которому обращается скрипт при использовании laravel new any. Соответственно, он падает с ошибкой curl-а.
diamond, Это понятно. Поэтому этот вопрос и возник. Laravel Eloquent - в чистом виде реализация Active Record. Каким образом можно связать AR и Repository - не представляю.
На текущем этапе подумал, что самым грамотным вариантом будет отказ от Eloquent Model из-за их тесной связи со слоем хранения данных, а создание класса Entity, который будет, по-факту объектной репрезентацией некой структуры данных. Затем создание Persistent-слоя, причем, возможно, с Data Mapper-ом.
То, что нужно использовать репозиторий - понятно. Вопрос еще в том, каким образом к нему подвязать модели, чтобы возможно было использовать и их функционал, в том числе.