我在一堂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->辅导员_day_1}},则从数据库中获得正确的值。
我的关系颠倒了吗?课程模式需要"belongsToMany“吗?什么是正确的语法,以获取讲师的信息?是否需要在我的模型中指定任何外键关系?

发布于 2018-04-24 04:56:52
belongsTo是正确的关系,但它的设置不正确。您将需要其中的4个,对于courses表中的每个外键都需要一个。
这应该会让你开始:
public function instructorDay1()
{
return $this->belongsTo('App\Instructor', 'instructor_day_1');
}然后你会这样叫它,为了得到导师的名字:
$course->instructorDay1->name;你需要为所有4种关系做这件事。
https://stackoverflow.com/questions/49993188
复制相似问题