2015-11-25 5 views
0

У меня есть 3 таблицы: Project, Group, UserПолучить подробную информацию о колонке поворота [Laravel 5]

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

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

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

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

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

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

ответ

1

Вы можете попробовать на вашей 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 
}