【发布时间】:2017-09-28 22:35:06
【问题描述】:
我有一个用户模型。每个用户都有一定的成绩,每个年级都有一定的学生。
User 和 Grade 模型具有一对多的关系。年级和学生模型也有一对多的关系。但是,User 和 Student 模型没有任何关系。
一旦用户登录,他应该能够搜索属于该用户的所有学生。
我必须在这两个模型之间建立关系吗?
【问题讨论】:
我有一个用户模型。每个用户都有一定的成绩,每个年级都有一定的学生。
User 和 Grade 模型具有一对多的关系。年级和学生模型也有一对多的关系。但是,User 和 Student 模型没有任何关系。
一旦用户登录,他应该能够搜索属于该用户的所有学生。
我必须在这两个模型之间建立关系吗?
【问题讨论】:
如果我正确理解了这个问题,一个用户有多个学生,所以我要做的是在他们之间创建一个one-to-many 关系,如下所示:
//用户.php
public function students()
{
return $this->hasMany(Student::class);
}
//学生.php
public function user()
{
return $this->belongsToOne(User::class);
}
这将允许您通过以下方式选择用户学生:$students = $user->students 注意:我没有在这里使用()。如果您要执行$students = $user->students(),您最终会得到一个查询构建器对象。
【讨论】: