пожалуйста, у меня есть три модели: преподаватели, уровни, курс.
стол лекторов
| 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. Любая помощь будет оценена. Заранее спасибо.
Поскольку у одного лектора может быть много курсов, вы смотрите на отношения один ко многим. Но так как вы идете от курса (многие) к лектору (один), вы ищете это:
В вашем Course
Класс добавить следующую функцию:
public function lecturer(){
return $this->belongsTo(Lecturer::class);
}
Это позволит вам использовать $course->lecturer()
или же $course->lecturer->Name_of_lecturer
как вам нужно.
Вот соответствующая ссылка на Документы Laravel: Красноречивый: отношения — один ко многим (обратный)
Если вы не очень знакомы с красноречивым laravel через Модели, вы можете использовать запрос с JOIN (внутреннее соединение или все, что вам нужно).
Например:
$lecturersDetails = DB::table('course')->join('lecturers','id','=','lecturer_id')->get();