Ichi
@Ichi
Увлекаюсь программированием

Laravel pivot or model при связи трёх таблиц, что лучше использовать?

Суть вопроса, что лучше использовать.

Для примера возьмём бд фильмов:
table movie (фильмы)
id
name

table person (люди - актёры, сценаристы, операторы и другие)
id
name

table role (роль - актёр, сценарист, гример)
id
name

Как лучше связать их, чтобы определить роль. Например, в фильме может актер и сценарист один и тот же человек.
Как вариант pivot:
movie_id, role_id, person_id

Можно создать отдельную модель, например PersonRole:
id, role_id, person_id
и pivot: movie_id, person_role_id

Какой вариант будет лучше? Или это как-то по другому реализовывается? Интересует с точки построения архитектуры.
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 1
@jazzus
movie_person (movie_id person_id) person_role (person_id role_id)
связать все belongsToMany.
Только я бы role переименовал т.к. это ближе к системным ролям юзеров, а не контенту.
Ответ написан
Ваш ответ на вопрос

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

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