@kirill-93

Разделение ролей в laravel?

Всем привет, подскажите, как правильно организовать такую структуру: есть пользователь с ролью админ, а есть с ролью покупатель. Оба они наследуют функционал класса стандартной модели User, но у них есть ряд различий. Для них создал 2 модели, которые наследуют User. Как сделать так, чтобы при создании новой записи через new Admin() автоматически создавалась запись в таблице users и привязывалась к таблице admins?
  • Вопрос задан
  • 1601 просмотр
Решения вопроса 2
Denormalization
@Denormalization
Лучше сделать через стандартное разделение на роли.
Используйте https://github.com/Zizaco/entrust
С несколькими моделями геморроя не оберетесь.

Если же хотите кушать кактус, то:
- В модели Admin указываем protected $table = 'users';
- В AppServiceProvider, в методе boot прописываем
Admin::created(function ($model) {
  // Тут связываем модель с таблицей admins
});


Таким образом после создания записи в таблице users, сработает хук created, и делайте в нем что хотите.
Ответ написан
Комментировать
tridcatij
@tridcatij
Тоже советую посмотреть в сторону готовых решений
- https://github.com/rydurham/Sentinel ( https://cartalyst.com/manual/sentinel/2.0 )
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы