public function create()
 {
     $classrooms = Classroom::inCurrentSemester()->pluck('code', 'id')->toArray();
     $subjects = Subject::isCurrent()->lists('name', 'id')->toArray();
     $intervals = ClassroomInterval::inCurrentSemester()->pluck('title', 'id')->toArray();
     $teachers = Teacher::isActive()->pluck('name', 'id')->toArray();
     return view('classrooms::sessions.create', compact('classrooms', 'subjects', 'teachers', 'intervals'));
 }
 public function students(Request $request)
 {
     $students = Student::isStudying()->selectRaw('CONCAT(students.name, " - ",students.username_prefix, students.username) as username, id')->pluck('username', 'id')->toArray();
     $intervals = ClassroomInterval::inCurrentSemester()->pluck('title', 'id')->toArray();
     $sessions = ClassroomSession::with(['students', 'teacher', 'classroom', 'attendances'])->inCurrentSemester()->orderBy('start_at', 'desc');
     if ($request->has('student_id')) {
         $sessions = ClassroomSession::with(['students', 'teacher', 'classroom', 'attendances' => function ($query) {
             return $query->where('student_id', request('student_id'));
         }])->whereHas('students', function ($query) {
             $query->where('students.id', request('student_id'));
         })->inCurrentSemester()->orderBy('start_at', 'desc');
     }
     if ($request->has('classroom_id')) {
         $sessions = $sessions->where('classroom_id', $request->input('classroom_id'));
     }
     if ($request->has('interval_id')) {
         $sessions = $sessions->where('interval_id', $request->input('interval_id'));
     }
     if ($request->has('subject_subject_id') && $request->has('subject_subject_id') != '') {
         $sessions = $sessions->where('subject_subject_id', $request->input('subject_subject_id'));
     }
     $sessions = $sessions->get();
     return view("classrooms::reports.students", compact('students', 'username', 'sessions', 'intervals'));
 }
 public function index()
 {
     $intervals = ClassroomInterval::inCurrentSemester()->get();
     return view('classrooms::excuses.settings', compact('intervals'));
 }