请给我三个模型:讲师,水平,课程。
讲师桌
| ID | Name_of_lecturer
+----+----------------
| 1 .| Prof John Doe
+----+----------------
| 2 .| Prof Jane Doe
级别表
| ID | Name
+----+----------------
| 1 .| Level 1
+----+----------------
| 2 .| Level 2
课程表
| ID | level_id | lecturer_id | course_info
+----+----------+-------------+----------------------------------
| 1 | 2 | 3 a topic in level 2 by lecturer 3
+----+----------+-------------+----------------------------------
| 2 | 5 | 6 | a topic in level 5 by lecturer 6
对于使用Eloquent从每门课程的“层次模型”中获取讲师详细信息的方式,我确实感到困惑。任何帮助将不胜感激。预先感谢。
答案 0 :(得分:0)
由于一位讲师可以开设许多课程,因此您正在寻找一对多的关系。但是,由于您是从课程(许多)转到讲师(一个)的,所以您需要这样做:
在您的Course
类中,添加以下功能:
public function lecturer(){
return $this->belongsTo(Lecturer::class);
}
这将使您可以根据需要使用$course->lecturer()
或$course->lecturer->Name_of_lecturer
。
以下是Laravel文档的相关链接:Eloquent: Relationships - One to Many (Inverse)
答案 1 :(得分:-1)
如果您不太熟悉laravel通过Models的口才,则可以将查询与JOIN(内部联接或所需的任何联接)一起使用。 例如:
$lecturersDetails = DB::table('course')->join('lecturers','id','=','lecturer_id')->get();