public function index() { $available_classrooms = Classroom::select('classrooms.attendees_limit', 'classrooms.name', 'classrooms.code', 'classrooms.id', 'classrooms.teacher_id', 'classrooms.subject_subject_id', 'classrooms.day', 'classrooms.hour')->join('subject_subjects as subsub', 'subsub.id', '=', 'classrooms.subject_subject_id')->join('student_subjects as stusub', function ($join) { $join->on('stusub.subject_id', '=', 'subsub.id')->where('stusub.student_id', '=', student()->id); })->whereIn('classrooms.gender', [student()->gender, 'b'])->whereHas('students', function ($query) { return $query->havingRaw('COUNT(students.id) < attendees_limit'); })->whereNotIn('subject_subject_id', function ($query) { $query->select('classrooms.subject_subject_id')->from('classrooms')->join('classroom_students as clastud', function ($join) { $join->on('clastud.classroom_id', '=', 'classrooms.id')->where('clastud.student_id', '=', student()->id); }); })->with('teacher', 'subject', 'students')->groupBy('teacher_id', 'subject_subject_id')->get(); //return $available_classrooms; $event = SemesterEvent::classroom()->first(); $chosen_classrooms = Classroom::whereHas('students', function ($query) { $query->where('students.id', student()->id); })->get(); return view('students::classrooms.index', compact('available_classrooms', 'chosen_classrooms', 'event')); }
public function classrooms($student_id = 0) { $student = Student::find($student_id); $available_classrooms = Classroom::select('classrooms.attendees_limit', 'classrooms.name', 'classrooms.code', 'classrooms.id', 'classrooms.teacher_id', 'classrooms.subject_subject_id', 'classrooms.day', 'classrooms.hour')->join('student_subjects as stusub', function ($join) use($student) { $join->on('stusub.subject_id', '=', 'classrooms.subject_subject_id')->where('stusub.state', '=', 'study')->where('stusub.student_id', '=', $student->id); })->whereIn('classrooms.gender', [$student->gender, 'b'])->whereHas('students', function ($query) use($student) { return $query->havingRaw('COUNT(students.id) < attendees_limit'); })->whereNotIn('subject_subject_id', function ($query) use($student) { $query->select('classrooms.subject_subject_id')->from('classrooms')->join('classroom_students as clastud', function ($join) use($student) { $join->on('clastud.classroom_id', '=', 'classrooms.id')->where('clastud.student_id', '=', $student->id); }); })->with('teacher', 'subject', 'students')->groupBy('classrooms.id')->get(); //return $available_classrooms; $event = SemesterEvent::classroom()->first(); $chosen_classrooms = Classroom::whereHas('students', function ($query) use($student) { $query->where('students.id', $student->id); })->get(); // // dd($student->id); // # code... // $studentcalss = Student::with('classrooms','subjects')->where('id',$student->id)->first(); // // dd($studentcalss); // $subjects = Subject::with('classroom')->Student($student->id)->get(); // // $classrooms = $studentcalss->classrooms->pluck('subject_subject_id' ,'name' )->toArray(); // // dd($subjects); // // $subjects = $studentcalss; // // dd($studentcalss); return view('students::subjects.classroom', compact('available_classrooms', 'chosen_classrooms', 'event', 'subjects', 'student', 'classrooms', 'studentcalss')); }