请解释hasManyThrough关系

时间:2014-03-09 03:22:22

标签: php laravel

有没有办法让第三个模型的hasmanyThrough的所有关系数据与第二个模型的关系有很多记录?

作为示例主要模型:考试ID batch_id

relation- belongsTo-Batch

第二个模型:批次ID batch_name relation-hasMany-Exam和hasMany-Student

第三种模式:学生ID名称batch_id relation- belongsTo-Batch

因此,当我尝试获取属于它的批次时使用Exam模型然后我可以检索它但是如何让所有学生通过与该批次相关的考试模型?我试过hasManyThrough关系,但没有工作......

1 个答案:

答案 0 :(得分:0)

如果你在考试中使用它:

public function students() {
  return $this->hasManyThrough('Student', 'Batch');
}

这不起作用,因为hasManyThrough假定Student和Batch都属于Exam(考试属于批处理)

最简单的方法是:Exam::find(1)->batch->students