' {{-- ========================================================== ATTENDANCE CARD ========================================================== --}} {{-- ===================================================== TOP BAR ====================================================== --}}
DAILY ATTENDANCE — {{ $class->class_name }} | {{ $term }} | {{ $session }}
Attendance configured for {{ $setting->number_of_weeks }} weeks.
{{-- ============================================= SEARCH ============================================== --}}
{{-- ====================================================== ATTENDANCE FORM ======================================================= --}}
@csrf {{-- ================================================== HIDDEN VALUES =================================================== --}} {{-- ================================================== TABLE =================================================== --}}
{{-- ================================================== TABLE HEADER =================================================== --}} {{-- ================================================= WEEK ROW ================================================== --}} {{-- S/N --}} {{-- STUDENT ID --}} {{-- STUDENT NAME --}} {{-- ================================================= WEEKS ================================================== --}} @for( $week = 1; $week <= $setting->number_of_weeks; $week++ ) @endfor {{-- ================================================= DAY ROW ================================================== --}} @for( $week = 1; $week <= $setting->number_of_weeks; $week++ ) @foreach([ 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' ] as $day) @php /* |-------------------------------------------------------------------------- | FIND EXISTING RECORDS |-------------------------------------------------------------------------- | | We use the already loaded collection. | | NO extra database query is made here. | */ $dayRecords = $attendance ->where( 'week', $week ) ->where( 'day', $day ); /* |-------------------------------------------------------------------------- | GET PREVIOUSLY SAVED DATE |-------------------------------------------------------------------------- */ $savedDate = $dayRecords ->first() ?->attendance_date; /* |-------------------------------------------------------------------------- | DAY KEY |-------------------------------------------------------------------------- */ $dayKey = strtolower( $day ); $dayKey = str_replace( 'thursday', 'th', $dayKey ); $dayKey = str_replace( 'tuesday', 't', $dayKey ); $dayKey = str_replace( 'wednesday', 'w', $dayKey ); $dayKey = str_replace( 'friday', 'f', $dayKey ); $dayKey = str_replace( 'monday', 'm', $dayKey ); @endphp @endforeach @endfor {{-- ====================================================== TABLE BODY ======================================================= --}} @foreach( $students as $index => $student ) {{-- ================================================= S/N ================================================== --}} {{-- ================================================= STUDENT ID ================================================== --}} {{-- ================================================= STUDENT NAME ================================================== --}} {{-- ================================================= WEEK COLUMNS ================================================== --}} @for( $week = 1; $week <= $setting->number_of_weeks; $week++ ) @foreach([ 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' ] as $day) @php /* |-------------------------------------------------------------------------- | FIND THIS STUDENT'S RECORD |-------------------------------------------------------------------------- | | Again, we search the already loaded | attendance collection. | */ $record = $attendance ->where( 'student_id', $student->id ) ->where( 'week', $week ) ->where( 'day', $day ) ->first(); @endphp @endforeach @endfor @endforeach
S/N Student ID Student Name Week {{ $week }}
{{-- DAY NAME --}}
{{ $dayKey === 'th' ? 'Th' : strtoupper($dayKey) }}
{{-- ================================================= DATE ================================================== --}} {{-- ================================================= MARK ALL ================================================== --}} {{-- ================================================= SUBMITTED BADGE ================================================== --}} @if($savedDate) @endif {{-- ================================================= SAVE BUTTON ================================================== --}}
{{ $index + 1 }} {{ $student->user->user_name ?? '-' }} {{ $student->name }}