Получить подробную информацию о сводной колонке [Laravel 5]

У меня есть 3 таблицы: Project, Group, User

и одна сводная таблица отношений: project_group с colmuns:
id
project_id
group_id
и поворот поле user_id

Я знаю, как принять все группы и проекты:

Project::find(1)->groups()->get();

groups() это функция ownToMany внутри модели проекта.

Проблема в том, что я не знаю, как получить всех пользователей для конкретного проекта. Мне нужно получить проект и все имена пользователей и идентификаторы для этого проекта, какое-нибудь решение для этого?

заранее спасибо

0

Решение

Вы можете примерить Project.php модель добавления отношения поворота

public function users() {
return $this->hasMany(App\User::class, 'project_group');
}

Однако это может вводить в заблуждение, поскольку project_group должна быть сводная таблица между project стол и group Таблица. user_id не принадлежит там.

Создайте вторую сводную таблицу с именем group_user с group_id, user_id, Тогда вы можете использовать это на своем Group.php модель:

public function users() {
return $this->hasMany(App\User::class, 'group_user');
}

Примером может быть:

$project = Project::find(1);
foreach($project->groups as $group) {
$users = $group->users; // Now you should have access to all the users for each group
}
1

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

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