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'));
 }
Example #2
0
 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'));
 }