如何从另一个没有直接关系的模型访问?

时间:2017-05-01 13:59:06

标签: php laravel

我有一个用户模型。每个用户都有一定的成绩,每个年级都有一定的学生。

用户和成绩模型具有一对多关系。成绩和学生模型也有一对多的关系。但是,用户和学生模型没有任何关系。

用户登录后,他应该能够搜索属于该用户的所有学生。

我是否必须在这两个模型之间建立关系?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,那么用户就有多个学生,所以我要做的就是在他们之间建立一个one-to-many关系:

// user.php的

public function students() 
{
  return $this->hasMany(Student::class);  
}

// Student.php

public function user() 
{
  return $this->belongsToOne(User::class);  
}

这样您就可以通过以下方式接听用户学生:$students = $user->students 注意:我这里没有使用()。如果您要执行$students = $user->students(),最终会得到一个查询构建器对象。