@extends('layouts.teacher-portal') @section('title', 'Class Results') @section('header', 'Class Results') @section('content') @if ($myClassTeacherIds->isEmpty())
Consolidated results are only available to class teachers.
Students
{{ count($computed['students']) }}
Subjects
{{ $computed['subjects']->count() }}
Class Average
{{ $computed['classAverage'] !== null ? number_format($computed['classAverage'], 1) . '%' : '—' }}
Published Sheets
{{ $published }} / {{ count($computed['students']) }}
| Pos | Student | Total | Avg | Grade | Missing Scores | Sheet Status |
|---|---|---|---|---|---|---|
| {{ $row['position'] ?? '—' }} | {{ $row['student']->full_name }} | {{ $row['total'] !== null ? number_format($row['total'], 1) : '—' }} | {{ $row['average'] !== null ? number_format($row['average'], 1) . '%' : '—' }} | {{ $row['grade'] ?? '—' }} | {{ collect($row['subjects'])->sum('missing') }} | @if ($row['sheet']) {{ ucfirst($row['sheet']->status ?? 'draft') }} @else Not generated @endif |
| No active students in this class. | ||||||
| Subject | Average | Highest | Lowest |
|---|---|---|---|
| {{ $subject->name }} | {{ isset($computed['subjectAverages'][$subject->id]) && $computed['subjectAverages'][$subject->id] !== null ? number_format($computed['subjectAverages'][$subject->id], 1) : '—' }} | {{ ($stats['highest'] ?? null) !== null ? number_format($stats['highest'], 1) : '—' }} | {{ ($stats['lowest'] ?? null) !== null ? number_format($stats['lowest'], 1) : '—' }} |
Read-only view. Sheets are published by the school administrator; add your remarks under Comments.
@elseSelect a class and term to compute results.