让我们说我已经将表链接成这样:
lessons -> sections -> courses
(课程表是此链的顶部)
这些表通过id相互连接:
lessons.section_id = sections.id
sections.course_id = courses.id
(课程表与课程表没有直接链接)
现在如何在课程控制器的更新方法中选择相关课程表行?是这样吗?
$lesson = Lesson::find( $id );
$course = DB::table( 'lessons' )
->join( 'sections', 'lessons.section_id', '=', 'sections.id' )
->where( 'sections.id', $lesson->section_id )
->join( 'courses', 'sections.course_id', '=', 'courses.id' )
->first();
还是有更好的方法?
答案 0 :(得分:0)
使用这种关系
课程模型
public function getCourseAttribute()
{
return $this->section->course;
}
public function section()
{
return $this->belongsTo(Section::class);
}
部分模型
public function course()
{
return $this->belongsTo(Course::class);
}
您的控制器是这样的:
$lesson = Lesson::find( $id );
$course = $lesson->course;