我将信息存储在为期4天的课程中。信息是日期1-4,每个日期都有一个与之相关的教师,因为在不同的日子可能有不同的教师。我们暂时谈谈day_1和instructor_day_1。我的模型如下:
课程模型:
public function instructor()
{
return $this->belongsTo('App\Instructor');
}
讲师模型:
public function course()
{
return $this->hasMany('App\Course');
}
当我在我的控制器中转到@show方法时,我找到了正确的路线但是当我尝试加载视图时,我无法弄清楚如何访问外来关系。现在我正在尝试:
<p class="card-text">{{$course->day_1}} assigned to {{$course->instructor_day_1->instructor->name}}</p>
但这不会产生任何错误。如果我{{$ course-&gt; instructor_day_1}},我会从数据库中获取正确的值。
我的关系倒退了吗?课程模型是否需要“belongsToMany”?拉取讲师信息的正确语法是什么?我是否需要在模型中指定任何外键关系?
答案 0 :(得分:1)
belongsTo
是正确的关系,但未正确设置。而且你需要其中4个,courses
表上的每个外键都需要1个。
这应该让你开始:
public function instructorDay1()
{
return $this->belongsTo('App\Instructor', 'instructor_day_1');
}
然后你会这样称呼它来得到教练的名字:
$course->instructorDay1->name;
你需要为所有4种关系做到这一点。