static function getStudentByBatchId($batchId, $selectedDate) { $selectedDate = date('Y-m-d', strtotime($selectedDate)); $studentByBatchId = StudentClasses::with('Students')->where('batch_id', '=', $batchId)->whereDate('enrollment_start_date', '<', $selectedDate)->whereDate('enrollment_end_date', '>', $selectedDate)->get(); //dd(DB::getQueryLog()); return $studentByBatchId; }
static function getAttendanceTable($batchId) { $studentsInBatch = StudentClasses::with('Students')->where('batch_id', '=', $batchId)->get(array('student_id', 'enrollment_start_date', 'enrollment_end_date')); $studentBatchDates = array(); $i = 0; foreach ($studentsInBatch as $student) { $studentBatchDates[$i]['Student'] = $student; $studentBatchDates[$i]['Attendance'] = BatchSchedule::where("batch_id", '=', $batchId)->where('schedule_date', '>=', $student->enrollment_start_date)->where('schedule_date', '<=', $student->enrollment_end_date)->get(); $batchdates = BatchSchedule::where("batch_id", '=', $batchId)->where('schedule_date', '>=', $student->enrollment_start_date)->where('schedule_date', '<=', $student->enrollment_end_date)->get(); $attendanceIncrement = 0; $presentDays = 0; $eaDays = 0; $absentDays = 0; $totalSessions = 0; foreach ($batchdates as $date) { /* echo "<pre>"; print_r($student); echo "</pre>"; */ $attendance = Attendance::getDaysAttendanceForStudent($student->student_id, $batchId, $date->schedule_date); $studentBatchDates[$i]['Attendance'][$attendanceIncrement]['attendStat'] = $attendance; $studentBatchDates[$i]['Attendance'][$attendanceIncrement]['attenddate'] = $date->schedule_date; if ($attendance) { if ($attendance->status == "P") { $presentDays++; } if ($attendance->status == "EA") { $eaDays++; } if ($attendance->status == "A") { $absentDays++; } } $attendanceIncrement++; $totalSessions++; } $studentBatchDates[$i]['statistics']['present'] = $presentDays; $studentBatchDates[$i]['statistics']['absent'] = $absentDays; $studentBatchDates[$i]['statistics']['ea'] = $eaDays; $studentBatchDates[$i]['statistics']['totalSessions'] = $totalSessions; /* echo "<pre>"; print_r(DB::getQueryLog()); print_r($studentBatchDates[$i]); echo "</pre>"; */ $i++; } /* echo "<pre>"; print_r($studentBatchDates); echo "</pre>"; exit(); */ return $studentBatchDates; }
public function attendance($id) { if (Auth::check()) { $currentPage = "BATCHES"; $mainMenu = "COURSES_MAIN"; $studentsInBatch = StudentClasses::with('Students')->where('batch_id', '=', $id)->count(); $batch = Batches::where('id', '=', $id)->first(); $attendanceArray = BatchSchedule::getAttendanceTable($id); $lead = Batches::with('LeadInstructors')->find($id); $alternate = Batches::with('AlternateInstructors')->find($id); if (isset($lead->LeadInstructors)) { $leadInstructor = $lead->LeadInstructors->first_name . ' ' . $lead->LeadInstructors->last_name; } else { $leadInstructor = ""; } if (isset($alternate->AlternateInstructors)) { $alternateInstructor = $alternate->AlternateInstructors->first_name . ' ' . $alternate->AlternateInstructors->last_name; } else { $alternateInstructor = ""; } $dataToView = array('currentPage', 'mainMenu', 'attendanceArray', 'batch', 'studentsInBatch', 'leadInstructor', 'alternateInstructor'); return View::make('pages.batches.attendance', compact($dataToView)); } else { return Redirect::to("/"); } }