我想知道如何,但这有点令人困惑。
我很好,属于用户和组表之间的许多关系,以及所有这些的适当模型。
但我也有表学生,并非所有用户都是学生,所以我的学生表我维护user_id字段。
我的问题是:我可以使用数据透视表" group_user"对于学生和小组模型之间的关系,在学生表中我有" user_id"领域?怎么样?
我试过像
这样的东西public function students()
{
return $this->belongsToMany('Student','group_user','group_id','user_id');
{
但是我没有看到如何告诉学生不要带学生的方式。但是要带学生。用户名
答案 0 :(得分:0)
假设这些关系:
Subject belongsTo Group
Group belongsToMany User
User hasOne Student
你可以轻松地做到这一点:
$subject = Subject::find($someId);
// of course for multiple subject use eager loading:
// $subjects = Subject::with('group.users.student')->get();
$users = $subject->group->users; // related users
foreach ($users as $user)
{
$user->student; // null|student model
}