@foreach($studentsData as $data)
{{-- Watermark --}}
School Logo
{{-- Header --}}

{{ $school->name ?? 'SCHOOL NAME' }}

{{ $school->address ?? '' }} | {{ $school->phone ?? '' }}

Terminal Report – {{ $academicSession->name ?? '' }}

{{-- Student Info --}}
Name: {{ $data['student']->full_name ?? '-' }} Admission No: {{ $data['student']->admission_no ?? '-' }} Class: {{ $data['student']->schoolClass->name ?? '-' }} Exams: @if(!empty($data['exams'])) @foreach($data['exams'] as $exam) {{ $exam->name ?? '-' }}{{ !$loop->last ? ', ' : '' }} @endforeach @else - @endif
Department: {{ $data['student']->department->name ?? '-' }} Session: {{ $academicSession->name ?? '-' }}  
{{-- Subjects Table --}} @if(!empty($data['exams'])) @foreach($data['exams'] as $exam) @endforeach @endif @if(!empty($data['subjectsData'])) @foreach($data['subjectsData'] as $i => $subject) @php $marks = $subject['marks'] ?? []; $total = array_sum(array_map(fn($m) => $m ?? 0, $marks)); $avg = count($marks) > 0 ? $total / count($marks) : 0; $remark = $subject['grade_obj']->description ?? ($avg >= 1 ? 'Pass' : 'Fail'); $isBest = !empty($data['bestSubjects']) ? collect($data['bestSubjects'])->contains(fn($s) => $s['subject_id'] == ($subject['subject_id'] ?? 0)) : false; @endphp @foreach($marks as $mark) @endforeach @endforeach @else @endif
# Subject{{ $exam->name ?? '-' }}Total Average Grade Point Remark
{{ $i + 1 }} {{ $subject['name'] ?? '-' }}{{ $mark !== null ? number_format($mark,2) : '-' }}{{ number_format($total,2) }} {{ number_format($avg,2) }} {{ $subject['grade'] ?? '-' }} {{ $subject['point'] ?? '-' }} {{ $remark }}
No subjects available
{{-- Summary --}}
Total Points: {{ $data['total_points'] ?? '-' }} GPA: {{ number_format($data['gpa'] ?? 0, 2) }} Division: {{ $data['division'] ?? '-' }} Position: {{ $data['position'] ?? '-' }}
{{-- Comments & Signatures --}}
Class Coordinator Comment:
{{ $data['class_coordinator_comment'] ?? '-' }}
Head of Department Comment:
{{ $data['hod_comment'] ?? '-' }}

Class Coordinator

Head of Department
School Stamp
@endforeach