Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
В системе есть несколько ролей: user, manager, zavsklad.
У некоторых ролей есть дополнительные записи в БД. Например у zavsklad есть связанные склады, а у manager есть связанные заказы.
В систему добавляются модели Zavsklad и Manager, которые связанны теперь с моделью User по полю user_id.
Теперь, чтобы найти аутентифицированного Завсклада я делаю - $zavsklad = Zavsklad::whereUser_id(Auth::user()->id)->firstOrFail();
Всё работает.
Вопрос есть ли в Ларавел возможность наследования модели от модели?
Ведь по сути завсклад это потомок пользователя.
Не в сети
Вам наверное лучше роли, а не модели использовать для этого? Есть готовый package: https://github.com/Zizaco/entrust
Если пользователь реально один и тот же, просто права разные — было бы неправильным с точки зрения архитектуры плодить Active Record модели (Eloquent). Раз юзер один — модель должна быть одна, возможности у нее разные.
Почему вы не хотите просто в модель User добавить методы вроде isZavsklad()? (это если не использовать настоящие роли)
И вообще, судя по описанию вам тут подходит decorator pattern? Реализовать zavsklad/manager как два отдельных не-Eloquent класса, а потом в них wrap’ить оригинальный класс User.
Не в сети
Роли я использую через pivot table.
А вот decorator pattern буду копать, спасибо.
Не в сети
Страницы 1