【发布时间】:2018-03-23 12:59:24
【问题描述】:
我有一个“名册”表,它几乎完全是外键。它访问“学校”表、“课程”表和“学生”表。因此,从本质上讲,“学生”在“学校”上“课程”。我的 RostersController 有这个
public function show($id)
{
$roster = Roster::where('course_id', $id);
return view('roster')->with('roster', $roster);
}
我的花名册模型是:
public function students()
{
return $this->hasMany('App\Student');
}
我的学生模型是:
public function roster()
{
return $this->belongsTo('App\Roster');
}
我的看法是这样的:
@foreach ($roster as $child)
<p>{{$child->id}}</p>
<p>{{$child->students->first_name}}</p>
@endforeach
rosters 表只保存 student_id,而不是保存在“students”表中的所有学生数据。所以我试图从这个关系中访问学生表,但是当我运行它时,它告诉我任何与学生表相关的东西都“不在这个集合中”。我知道如果我使用 hasOne 关系,我可以这样做,但是我如何使用 hasMany 来完成此操作以在每一行中输出学生表值?
【问题讨论】: