public function index(Request $request) { $attendances = Attendance::orderBy('csa.id', 'desc')->selectRaw('CONCAT(cs.title," ،للمادة ", ss.name) as session_title,csa.classroom_session_id as session_id')->from('classroom_session_attendances as csa')->join('classroom_sessions as cs', 'cs.id', '=', 'csa.classroom_session_id')->join('subject_subjects as ss', 'ss.id', '=', 'cs.subject_subject_id')->leftJoin('classroom_session_excuses as cse', function ($j) { $j->on('cse.session_id', "=", 'cs.id')->where('cse.status', '=', 'accepted')->on('csa.student_id', '=', 'cse.student_id'); })->whereNull('cse.id'); if ($request->has('valid')) { $attendances->where('valid', $request->input('valid')); } if ($request->has('student_id')) { $attendances->where('csa.student_id', $request->input('student_id')); } return $attendances->groupBy('csa.id')->pluck('session_title', 'session_id'); }