public function index(Request $request) { $classrooms = Classroom::orderBy('name', 'desc'); if ($request->has('teacher_id')) { $classrooms->where('teacher_id', $request->input('teacher_id')); } if ($request->has('subject_id')) { $classrooms->where('subject_subject_id', $request->input('subject_id')); } if ($request->has('student_id')) { $classrooms->whereHas('students', function ($query) { return $query->where('students.id', request('student_id')); }); } $classrooms = $classrooms->inCurrentSemester()->get(); return $classrooms; }