Laravel - лучшая стратегия для моделирования таблиц отношений - PullRequest
0 голосов
/ 26 мая 2018

У меня следующая проблема.

Я пытаюсь выяснить, как лучше организовать отношения между пользователями-ролями-магазинами-школами.

Пользователь может иметь несколькоРоли прикреплены к Магазину или Школе, поэтому можно создать объект:

"Пользователь [testuser@email.com] является [root] для школы [HighSchool1]"

, а также

"Пользователь [testuser@email.com] является [пользователь] для магазина [Store1]"

Таким образом, пользователь может иметь несколько ролей, но эти роли прикреплены к школе ИЛИ магазину

в начале я собирался сделать это ...

`` `User -id -name -email -password

Roles
-id
-name

Roles_user
-id
-rol_id
-user_id
-school_id           //whatch this
-store_id             //whatch this

School
-id
-name

Store
-id
-name

Проблема в том, что вВ будущем система могла бы также обрабатывать супермаркеты ... и мне пришлось бы изменить свою таблицу role_user, чтобы добавить для этого новые столбцы.

Как мне этого добиться ... используя corse Eloquent и Relationships?

1 Ответ

0 голосов
/ 26 мая 2018

В зависимости от того, чего вы хотите достичь.Я предлагаю вам business_type и business_id, например

Roles_user
-id
-rol_id
-user_id
-business_type           //whatch this
-business_id             //whatch this

Business_type может принимать значения, такие как школа, магазин, супермаркет, отели и т. Д., Или их идентификаторы из таблицы зарегистрированных предприятий.

Все зависит от того, чего вы хотите достичь.Надеюсь, это поможет

...