@foreach ($data as $item) @php $employee = $item['employee']; $timetable = $item['timetable']; $timeSlots = $item['timeSlots']; @endphp
@includeFirst([config('config.print.custom_path') . 'header', 'print.header'])

{{ trans('academic.timetable.teacher_timetable') }}

{{ $employee->name . ' (' . $employee->code_number . ')' }}
{{ $employee->designation_name }}
@foreach ($timeSlots as $slot) @endforeach @foreach ($timetable as $dayData) @php $i = 0; $totalSlots = count($timeSlots); @endphp @while ($i < $totalSlots) @php $slot = $timeSlots[$i]; $sessionsInSlot = collect($dayData['sessions']) ->filter(function ($s) use ($slot) { return $s['start_time'] < $slot['end'] && $s['end_time'] > $slot['start']; }) ->values(); if ($sessionsInSlot->isNotEmpty()) { $firstSession = $sessionsInSlot->first(); $colspan = 0; for ($j = $i; $j < $totalSlots; $j++) { if ( $firstSession['start_time'] < $timeSlots[$j]['end'] && $firstSession['end_time'] > $timeSlots[$j]['start'] ) { $colspan++; } else { break; } } $i += $colspan; } @endphp @if ($sessionsInSlot->isNotEmpty()) @else @php $i++; @endphp @endif @endwhile @endforeach
Day {{ \Carbon\Carbon::parse($slot['start'])->format('h:i A') }}
to {{ \Carbon\Carbon::parse($slot['end'])->format('h:i A') }}
{{ $dayData['day'] }} @foreach ($sessionsInSlot as $s)
{{ $s['subject'] }}
{{ $s['batch'] }}
{{ $s['room'] }}
@if (!$loop->last)
@endif @endforeach
Free
@endforeach