@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) @foreach ($timeSlots as $slot) @php // Get ALL sessions overlapping this slot $sessions = collect($dayData['sessions'])->filter(function ($s) use ($slot) { return $s['start_time'] < $slot['end'] && $s['end_time'] > $slot['start']; }); @endphp @endforeach @endforeach
Day {{ \Carbon\Carbon::parse($slot['start'])->format('h:i A') }}
to {{ \Carbon\Carbon::parse($slot['end'])->format('h:i A') }}
{{ $dayData['day'] }} @if ($sessions->count())
@foreach ($sessions as $session)
{{ $session['subject'] }}
{{ $session['batch'] }}
{{ $session['room'] }}
@endforeach
@else
Free
@endif
@endforeach