首页 > 解决方案 > 使用 Eloquent 从具有外键的单个表中获取数据到另外两个表 - laravel

问题描述

请我有三个模型:讲师,级别,课程。

讲师桌

| 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 从 Levels 模型中获取每门课程的讲师详细信息。任何帮助将不胜感激。提前致谢。

标签: phpmysqllaraveleloquent

解决方案


由于一位讲师可以拥有许多课程,因此您正在寻找一对多的关系。但是由于您要从课程(很多)到讲师(一个),所以您正在寻找这个:

在你的Course类中添加以下函数:

public function lecturer(){
    return $this->belongsTo(Lecturer::class);
}

这将允许您使用$course->lecturer()$course->lecturer->Name_of_lecturer根据需要。

这是 Laravel 文档的相关链接:Eloquent :Relationships - One to Many (Inverse)


推荐阅读