Как сделать связь в Laravel с несколькими сводными таблицами?

Я получил таблицы:

  • пользователи (идентификатор, имя, фамилия)
  • свадьбы (удостоверение личности, …)
  • wedding_user (id, wedding_id, user_id, role_id)
  • wedding_user_permission (wedding_user_id ,mission_id)

И я хочу установить связь между моделью Wedding и WeddingUser (Wedding имеет много WeddingUser, WeddingUser принадлежит Wedding).

На самом деле, если я буду игнорировать отношения Laravel, модель будет:

//Wedding Model

public function users()
{
$users = WeddingUser::where('wedding_id', $this->id)->get();
return $users;
}

Но мне нужно сделать это с отношениями Laravel.

Я попробовал это:

public function users()
{
return $this->belongsToMany(
'App\Models\WeddingUser',
'wedding_user',
'user_id'
);
}

Но это выдает ошибку:

SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'wedding_user' (SQL: select `wedding_user`.*, `wedding_user`.`user_id` as `pivot_user_id`, `wedding_user`.`wedding_user_id` as `pivot_wedding_user_id` from `wedding_user` inner join `wedding_user` on `wedding_user`.`id` = `wedding_user`.`wedding_user_id` where `wedding_user`.`user_id` in (1))

Как это сделать правильно?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector