Я получил таблицы:
- пользователей (идентификатор, имя, фамилия)
- свадьбы (id, ...)
- wedding_user (id, wedding_id, user_id, role_id)
- wedding_user_permission (wedding_user_id ,mission_id)
И я хочу установить связь между моделью Wedding и WeddingUser (Wedding имеет много WeddingUser, WeddingUser принадлежит Wedding).
На самом деле, если я буду игнорировать отношения между уровнями, модель будет:
//Wedding Model
public function users()
{
$users = WeddingUser::where('wedding_id', $this->id)->get();
return $users;
}
Но мне нужно сделать это с отношениями Ларавелла.
Я пробовал это:
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))
Как это сделать правильно?