Laravel - Сводная таблица с 3 моделями отношений Многие ко многим и Один ко многим - PullRequest
0 голосов
/ 19 сентября 2019

Я хочу сделать аутентификацию в своем проекте Laravel для пользователей, у которых есть роли и разрешения.На самом деле это не проблема, но пользователи могут создавать команды или быть приглашенными членами любой команды, и каждый пользователь в любой команде имеет свою ОДНУЮ роль в команде (в другой команде у пользователя может быть другая роль).В сущности, у пользователей должно быть много ролей, но только одна роль в одной конкретной команде, и я не могу понять, создаю ли я правильные отношения с БД.

Пожалуйста, проверьте изображение со связями, чтобы получить больше информации: Database relationships here

В общем:

  1. У пользователей много команд, иКоманды имеют много пользователей (от многих ко многим)
  2. Команды имеют много ролей, у ролей много команд (от многих ко многим)
  3. У пользователей много ролей, Но только одна роль в команде какие отношения должны быть?

Мне интересно, как это сделать правильно.Как свести к минимуму беспорядочный код в будущем и избежать необходимости перепроектировать отношения с БД.

Большое спасибо, ребята!

1 Ответ

0 голосов
/ 19 сентября 2019

Может быть, вам нужны полиморфные отношения: https://laravel.com/docs/master/eloquent-relationships#custom-polymorphic-types с картой морфов.https://nicolaswidart.com/blog/laravel-52-morph-map

...