В моей базе данных у меня есть следующие таблицы:
- курсы (идентификатор, имя, create_at, updated_at)
- студенты (id, name, creation_at, updated_at)
- course_student (id, course_id, student_id, creation_at, updated_at)
Я пытаюсь получить всеКурсы, в которых студент зачислен в порядке убывания по значению созданного в сводной таблице.Модель курса:
public function courses () {
return $this->belongsToMany(Course::class, 'course_student', 'student_id', 'course_id')->withTimestamps();
}
И это то, что я пробовал в своем контроллере, но он не работает.
public function enrolled() {
$courses = Course::whereHas('students', function($query) {
$query->where('user_id', auth()->id())
->orderBy('course_student.created_at','desc');
})->get();
return view('courses.enrolled', compact('courses'));
}
Есть идеи, как мне это сделать?