app/Models/SchoolSetting.php:5:use Illuminate\Database\Eloquent\Model; app/Models/SchoolSetting.php:6:use Illuminate\Support\Facades\Cache; app/Models/SchoolSetting.php:8:class SchoolSetting extends Model app/Models/SchoolSetting.php:43: protected function casts(): array app/Models/SchoolSetting.php:70: public static function current(): static app/Models/SchoolSetting.php:72: return Cache::remember(self::CACHE_KEY, self::CACHE_TTL, function () { app/Models/SchoolSetting.php:91: public static function clearCache(): void app/Models/SchoolSetting.php:103: protected static function booted(): void app/Models/SchoolSetting.php:105: static::saved(function () { app/Models/SchoolSetting.php:118: public function getLogoUrlAttribute(): ?string app/Models/SchoolSetting.php:133: public function brand(string $key): ?string app/Models/SchoolSetting.php:153: public function getFullAddressAttribute(): string app/Models/AssignmentSubmission.php:5:use Illuminate\Database\Eloquent\Model; app/Models/AssignmentSubmission.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/AssignmentSubmission.php:8:class AssignmentSubmission extends Model app/Models/AssignmentSubmission.php:29: protected function casts(): array app/Models/AssignmentSubmission.php:60: public function scopePending($query) app/Models/AssignmentSubmission.php:65: public function scopeSubmitted($query) app/Models/AssignmentSubmission.php:70: public function scopeGraded($query) app/Models/AssignmentSubmission.php:75: public function scopeMissing($query) app/Models/AssignmentSubmission.php:80: public function scopeForStudent($query, int $studentId) app/Models/AssignmentSubmission.php:85: public function scopePassing($query) app/Models/AssignmentSubmission.php:94: public function assignment(): BelongsTo app/Models/AssignmentSubmission.php:99: public function student(): BelongsTo app/Models/AssignmentSubmission.php:104: public function gradedBy(): BelongsTo app/Models/AssignmentSubmission.php:113: public function isGraded(): bool app/Models/AssignmentSubmission.php:118: public function isLate(): bool app/Models/AssignmentSubmission.php:123: public function isMissing(): bool app/Models/AssignmentSubmission.php:128: public function submit(?string $notes = null, ?string $filePath = null): void app/Models/AssignmentSubmission.php:140: public function grade(float $score, int $graderId, ?string $feedback = null): void app/Models/AssignmentSubmission.php:154: public function getScorePercentageAttribute(): ?float app/Models/AssignmentSubmission.php:163: public function getFileSizeHumanAttribute(): string app/Models/UserProfile.php:5:use Illuminate\Database\Eloquent\Model; app/Models/UserProfile.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/UserProfile.php:8:class UserProfile extends Model app/Models/UserProfile.php:40: protected function casts(): array app/Models/UserProfile.php:55: public function user(): BelongsTo app/Models/UserProfile.php:68: public function getAgeAttribute(): ?int app/Models/UserProfile.php:80: public function getFullAddressAttribute(): string app/Models/Notification.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Notification.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Notification.php:8:class Notification extends Model app/Models/Notification.php:21: public function user(): BelongsTo app/Models/Notification.php:26: public function markRead(): void app/Models/Notification.php:31: public function scopeUnread($query) app/Models/Notification.php:36: public function scopeForUser($query, int $userId) app/Models/InterventionAction.php:5:use Illuminate\Database\Eloquent\Model; app/Models/InterventionAction.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/InterventionAction.php:8:class InterventionAction extends Model app/Models/InterventionAction.php:17: protected function casts(): array app/Models/InterventionAction.php:37: public function scopeForPlan($query, int $planId) app/Models/InterventionAction.php:42: public function scopeParentInformed($query) app/Models/InterventionAction.php:47: public function plan(): BelongsTo app/Models/InterventionAction.php:52: public function loggedBy(): BelongsTo app/Models/ZoomRecording.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ZoomRecording.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/ZoomRecording.php:8:class ZoomRecording extends Model app/Models/ZoomRecording.php:26: public function session(): BelongsTo app/Models/ZoomRecording.php:31: public function isAvailable(): bool app/Models/ZoomRecording.php:36: public function durationFormatted(): string app/Models/ZoomRecording.php:47: public function fileSizeFormatted(): string app/Models/ExamResult.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ExamResult.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/ExamResult.php:8:class ExamResult extends Model app/Models/ExamResult.php:27: protected function casts(): array app/Models/ExamResult.php:57: public function scopeGraded($query) app/Models/ExamResult.php:62: public function scopeFinalised($query) app/Models/ExamResult.php:67: public function scopeAbsent($query) app/Models/ExamResult.php:72: public function scopePassing($query) app/Models/ExamResult.php:77: public function scopeForStudent($query, int $studentId) app/Models/ExamResult.php:86: public function exam(): BelongsTo app/Models/ExamResult.php:91: public function student(): BelongsTo app/Models/ExamResult.php:96: public function gradedBy(): BelongsTo app/Models/ExamResult.php:105: public function grade( app/Models/ExamResult.php:126: public function finalise(): void app/Models/ExamResult.php:135: public function markAbsent(): void app/Models/ExamResult.php:140: private function calculateGradeLetter(float $percentage): string app/Models/ExamResult.php:155: public function isFinalised(): bool app/Models/ExamResult.php:160: public function isAbsent(): bool app/Models/StudentSubjectEnrollment.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentSubjectEnrollment.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentSubjectEnrollment.php:8:class StudentSubjectEnrollment extends Model app/Models/StudentSubjectEnrollment.php:35: protected function casts(): array app/Models/StudentSubjectEnrollment.php:50: public function scopeActive($query) app/Models/StudentSubjectEnrollment.php:58: public function scopeForYear($query, int $academicYearId) app/Models/StudentSubjectEnrollment.php:66: public function scopeForSubject($query, int $subjectId) app/Models/StudentSubjectEnrollment.php:78: public function student(): BelongsTo app/Models/StudentSubjectEnrollment.php:86: public function subject(): BelongsTo app/Models/StudentSubjectEnrollment.php:94: public function academicYear(): BelongsTo app/Models/StudentSubjectEnrollment.php:106: public function drop(?string $notes = null): void app/Models/StudentSubjectEnrollment.php:118: public function complete(): void app/Models/StudentSubjectEnrollment.php:132: public function isActive(): bool app/Models/StudentSubjectEnrollment.php:140: public function getSummaryAttribute(): string app/Models/TeacherStudentAssignmentHistory.php:5:use Illuminate\Database\Eloquent\Model; app/Models/TeacherStudentAssignmentHistory.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/TeacherStudentAssignmentHistory.php:8:class TeacherStudentAssignmentHistory extends Model app/Models/TeacherStudentAssignmentHistory.php:30: protected function casts(): array app/Models/TeacherStudentAssignmentHistory.php:42: public function scopeForStudent($query, int $studentId) app/Models/TeacherStudentAssignmentHistory.php:47: public function scopeForTeacher($query, int $teacherId) app/Models/TeacherStudentAssignmentHistory.php:52: public function scopeForSubject($query, int $subjectId) app/Models/TeacherStudentAssignmentHistory.php:57: public function scopeForYear($query, int $academicYearId) app/Models/TeacherStudentAssignmentHistory.php:66: public function teacher(): BelongsTo app/Models/TeacherStudentAssignmentHistory.php:71: public function student(): BelongsTo app/Models/TeacherStudentAssignmentHistory.php:76: public function subject(): BelongsTo app/Models/TeacherStudentAssignmentHistory.php:81: public function academicYear(): BelongsTo app/Models/TeacherStudentAssignmentHistory.php:86: public function closedBy(): BelongsTo app/Models/TeacherStudentAssignmentHistory.php:98: public function getDurationDaysAttribute(): int app/Models/TeacherStudentAssignmentHistory.php:103: public function getSummaryAttribute(): string app/Models/TeacherStudentAssignment.php:5:use Illuminate\Database\Eloquent\Model; app/Models/TeacherStudentAssignment.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/TeacherStudentAssignment.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/TeacherStudentAssignment.php:9:class TeacherStudentAssignment extends Model app/Models/TeacherStudentAssignment.php:24: protected function casts(): array app/Models/TeacherStudentAssignment.php:36: public function scopeActive($query) app/Models/TeacherStudentAssignment.php:41: public function scopeForYear($query, int $academicYearId) app/Models/TeacherStudentAssignment.php:46: public function scopeForTeacher($query, int $teacherId) app/Models/TeacherStudentAssignment.php:51: public function scopeForStudent($query, int $studentId) app/Models/TeacherStudentAssignment.php:60: public function teacher(): BelongsTo app/Models/TeacherStudentAssignment.php:65: public function student(): BelongsTo app/Models/TeacherStudentAssignment.php:70: public function subject(): BelongsTo app/Models/TeacherStudentAssignment.php:75: public function academicYear(): BelongsTo app/Models/TeacherStudentAssignment.php:80: public function history(): HasMany app/Models/TeacherStudentAssignment.php:95: public static function findActive( app/Models/TeacherStudentAssignment.php:111: public static function hasActiveAssignment( app/Models/TeacherStudentAssignment.php:127: public function isActive(): bool app/Models/TeacherStudentAssignment.php:135: public function close(string $status = 'reassigned', ?string $notes = null): void app/Models/TeacherStudentAssignment.php:166: public function reassign( app/Models/TeacherStudentAssignment.php:191: // because old record is status=reassigned (not active) app/Models/TeacherStudentAssignment.php:202: public function getSummaryAttribute(): string app/Models/AchievementMilestone.php:5:use Illuminate\Database\Eloquent\Model; app/Models/AchievementMilestone.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/AchievementMilestone.php:8:class AchievementMilestone extends Model app/Models/AchievementMilestone.php:17: protected function casts(): array app/Models/AchievementMilestone.php:42: public function scopeForStudent($query, int $studentId) app/Models/AchievementMilestone.php:47: public function student(): BelongsTo app/Models/AchievementMilestone.php:56: public static function award( app/Models/AchievementMilestone.php:96: public static function hasEarned(int $studentId, string $key): bool app/Models/ZoomWebhook.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ZoomWebhook.php:7:class ZoomWebhook extends Model app/Models/ZoomWebhook.php:19: public function markProcessed(): void app/Models/ZoomWebhook.php:24: public function markFailed(string $error): void app/Models/ZoomWebhook.php:29: public function scopePending($query) app/Models/NotificationPreference.php:5:use Illuminate\Database\Eloquent\Model; app/Models/NotificationPreference.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/NotificationPreference.php:8:class NotificationPreference extends Model app/Models/NotificationPreference.php:20: public function user(): BelongsTo app/Models/NotificationPreference.php:25: public static function getDefaultsFor(int $userId): array app/Models/StudentStreak.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentStreak.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentStreak.php:8:class StudentStreak extends Model app/Models/StudentStreak.php:17: protected function casts(): array app/Models/StudentStreak.php:26: public function student(): BelongsTo app/Models/StudentStreak.php:36: public static function recordActivity(int $studentId): static app/Models/StudentStreak.php:82: public function isBroken(): bool app/Models/StudentDashboardSnapshot.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentDashboardSnapshot.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentDashboardSnapshot.php:8:class StudentDashboardSnapshot extends Model app/Models/StudentDashboardSnapshot.php:18: protected function casts(): array app/Models/StudentDashboardSnapshot.php:31: public function student(): BelongsTo app/Models/StudentDashboardSnapshot.php:36: public function academicYear(): BelongsTo app/Models/StudentDashboardSnapshot.php:41: public function isStale(int $minutes = 60): bool app/Models/InterventionPlan.php:5:use Illuminate\Database\Eloquent\Model; app/Models/InterventionPlan.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/InterventionPlan.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/InterventionPlan.php:9:class InterventionPlan extends Model app/Models/InterventionPlan.php:19: protected function casts(): array app/Models/InterventionPlan.php:49: public function scopeActive($query) app/Models/InterventionPlan.php:54: public function scopeForStudent($query, int $studentId) app/Models/InterventionPlan.php:59: public function scopeForTeacher($query, int $teacherId) app/Models/InterventionPlan.php:64: public function scopeForYear($query, int $yearId) app/Models/InterventionPlan.php:69: public function student(): BelongsTo app/Models/InterventionPlan.php:74: public function teacher(): BelongsTo app/Models/InterventionPlan.php:79: public function academicYear(): BelongsTo app/Models/InterventionPlan.php:84: public function actions(): HasMany app/Models/InterventionPlan.php:90: public function resolve(string $notes): void app/Models/InterventionPlan.php:99: public function escalate(): void app/Models/InterventionPlan.php:104: public function close(): void app/Models/InterventionPlan.php:112: public function logAction( app/Models/InterventionPlan.php:132: public function isActive(): bool app/Models/InterventionPlan.php:137: public function isDueForreview(): bool app/Models/AcademicYearTerm.php:5:use Carbon\Carbon; app/Models/AcademicYearTerm.php:6:use Illuminate\Database\Eloquent\Model; app/Models/AcademicYearTerm.php:7:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/AcademicYearTerm.php:8:use Illuminate\Support\Facades\Cache; app/Models/AcademicYearTerm.php:10:class AcademicYearTerm extends Model app/Models/AcademicYearTerm.php:38: protected function casts(): array app/Models/AcademicYearTerm.php:66: public function scopeActive($query) app/Models/AcademicYearTerm.php:74: public function scopeForYear($query, int $academicYearId) app/Models/AcademicYearTerm.php:82: public function scopeTermsOnly($query) app/Models/AcademicYearTerm.php:90: public function scopeSemestersOnly($query) app/Models/AcademicYearTerm.php:103: public static function current(): ?static app/Models/AcademicYearTerm.php:105: return Cache::remember(self::CACHE_KEY, self::CACHE_TTL, function () { app/Models/AcademicYearTerm.php:115: public static function clearCache(): void app/Models/AcademicYearTerm.php:124: public function activate(): void app/Models/AcademicYearTerm.php:140: protected static function booted(): void app/Models/AcademicYearTerm.php:142: static::saved(function () { app/Models/AcademicYearTerm.php:154: public function academicYear(): BelongsTo app/Models/AcademicYearTerm.php:166: public function isTerm(): bool app/Models/AcademicYearTerm.php:174: public function isSemester(): bool app/Models/AcademicYearTerm.php:182: public function containsDate(Carbon $date): bool app/Models/AcademicYearTerm.php:190: public function isInProgress(): bool app/Models/AcademicYearTerm.php:198: public function getStatusLabelAttribute(): string app/Models/AcademicYearTerm.php:215: public function getPeriodTypeLabelAttribute(): string app/Models/AcademicYearTerm.php:224: public function getFullNameAttribute(): string app/Models/StudentFeeAssignment.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/StudentFeeAssignment.php:6:use Illuminate\Database\Eloquent\Model; app/Models/StudentFeeAssignment.php:7:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/StudentFeeAssignment.php:8:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/StudentFeeAssignment.php:9:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentFeeAssignment.php:10:use Spatie\Activitylog\Traits\LogsActivity; app/Models/StudentFeeAssignment.php:11:use Spatie\Activitylog\LogOptions; app/Models/StudentFeeAssignment.php:13:class StudentFeeAssignment extends Model app/Models/StudentFeeAssignment.php:15: use HasFactory, SoftDeletes, HasUuids, LogsActivity; app/Models/StudentFeeAssignment.php:22: public function uniqueIds(): array app/Models/StudentFeeAssignment.php:27: public function getActivitylogOptions(): LogOptions app/Models/StudentFeeAssignment.php:35: public function student(): BelongsTo { return $this->belongsTo(User::class, 'student_id'); } app/Models/StudentFeeAssignment.php:36: public function feeStructure(): BelongsTo { return $this->belongsTo(FeeStructure::class, 'fee_structure_id'); } app/Models/StudentFeeAssignment.php:37: public function academicYear(): BelongsTo { return $this->belongsTo(AcademicYear::class, 'academic_year_id'); } app/Models/StudentFeeAssignment.php:38: public function term(): BelongsTo { return $this->belongsTo(AcademicYearTerm::class, 'term_id'); } app/Models/StudentFeeAssignment.php:39: public function assigner(): BelongsTo { return $this->belongsTo(User::class, 'assigned_by'); } app/Models/StudentGoal.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentGoal.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentGoal.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/StudentGoal.php:9:class StudentGoal extends Model app/Models/StudentGoal.php:19: protected function casts(): array app/Models/StudentGoal.php:36: public function scopeActive($query) app/Models/StudentGoal.php:41: public function scopeAchieved($query) app/Models/StudentGoal.php:46: public function scopeForStudent($query, int $studentId) app/Models/StudentGoal.php:51: public function scopeForTeacher($query, int $teacherId) app/Models/StudentGoal.php:56: public function scopeForYear($query, int $yearId) app/Models/StudentGoal.php:61: public function scopeOverdue($query) app/Models/StudentGoal.php:67: public function student(): BelongsTo app/Models/StudentGoal.php:72: public function teacher(): BelongsTo app/Models/StudentGoal.php:77: public function subject(): BelongsTo app/Models/StudentGoal.php:82: public function academicYear(): BelongsTo app/Models/StudentGoal.php:87: public function progressLogs(): HasMany app/Models/StudentGoal.php:93: public function latestProgress(): ?GoalProgress app/Models/StudentGoal.php:98: public function getCurrentProgressAttribute(): int app/Models/StudentGoal.php:103: public function isOverdue(): bool app/Models/StudentGoal.php:108: public function markAchieved(): void app/Models/StudentGoal.php:116: public function cancel(): void app/Models/StudentGoal.php:121: public function logProgress(int $percentage, int $loggedBy, ?string $notes = null): GoalProgress app/Models/QuizQuestionOption.php:5:use Illuminate\Database\Eloquent\Model; app/Models/QuizQuestionOption.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/QuizQuestionOption.php:8:class QuizQuestionOption extends Model app/Models/QuizQuestionOption.php:20: protected function casts(): array app/Models/QuizQuestionOption.php:32: public function scopeCorrect($query) app/Models/QuizQuestionOption.php:37: public function scopeOrdered($query) app/Models/QuizQuestionOption.php:46: public function question(): BelongsTo app/Models/Assignment.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Assignment.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Assignment.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/Assignment.php:9:class Assignment extends Model app/Models/Assignment.php:34: protected function casts(): array app/Models/Assignment.php:67: public function scopePublished($query) app/Models/Assignment.php:72: public function scopeDraft($query) app/Models/Assignment.php:77: public function scopeForClass($query, int $classId) app/Models/Assignment.php:82: public function scopeForSubject($query, int $subjectId) app/Models/Assignment.php:87: public function scopeForTeacher($query, int $teacherId) app/Models/Assignment.php:92: public function scopeForYear($query, int $yearId) app/Models/Assignment.php:97: public function scopeOverdue($query) app/Models/Assignment.php:103: public function scopeUpcoming($query) app/Models/Assignment.php:114: public function teacher(): BelongsTo app/Models/Assignment.php:119: public function subject(): BelongsTo app/Models/Assignment.php:124: public function schoolClass(): BelongsTo app/Models/Assignment.php:129: public function academicYear(): BelongsTo app/Models/Assignment.php:134: public function academicTerm(): BelongsTo app/Models/Assignment.php:139: public function classSession(): BelongsTo app/Models/Assignment.php:144: public function submissions(): HasMany app/Models/Assignment.php:149: public function gradedSubmissions(): HasMany app/Models/Assignment.php:159: public function isOverdue(): bool app/Models/Assignment.php:164: public function isDue(): bool app/Models/Assignment.php:169: public function publish(): void app/Models/Assignment.php:174: public function unpublish(): void app/Models/Assignment.php:179: public function getSubmissionCountAttribute(): int app/Models/Assignment.php:184: public function getGradedCountAttribute(): int app/Models/Assignment.php:189: public function getAverageScoreAttribute(): ?float app/Models/Assignment.php:194: public function getScorePercentageAttribute(): ?float app/Models/Assignment.php:204: public function questions(): HasMany app/Models/Assignment.php:210: public function activeQuestions(): HasMany app/Models/Assignment.php:217: public function getTotalPointsAttribute(): float app/Models/Assignment.php:222: public function isQuestionBased(): bool app/Models/AcademicYear.php:5:use Carbon\Carbon; app/Models/AcademicYear.php:6:use Illuminate\Database\Eloquent\Model; app/Models/AcademicYear.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/AcademicYear.php:8:use Illuminate\Support\Facades\Cache; app/Models/AcademicYear.php:10:class AcademicYear extends Model app/Models/AcademicYear.php:35: protected function casts(): array app/Models/AcademicYear.php:60: public function scopeActive($query) app/Models/AcademicYear.php:75: public static function current(): ?static app/Models/AcademicYear.php:77: return Cache::remember(self::CACHE_KEY, self::CACHE_TTL, function () { app/Models/AcademicYear.php:85: public static function clearCache(): void app/Models/AcademicYear.php:96: public function activate(): void app/Models/AcademicYear.php:111: protected static function booted(): void app/Models/AcademicYear.php:113: static::saved(function () { app/Models/AcademicYear.php:125: public function terms(): HasMany app/Models/AcademicYear.php:134: public function activeTerm(): ?AcademicYearTerm app/Models/AcademicYear.php:142: public function feeStructures(): HasMany app/Models/AcademicYear.php:150: public function feeAssignments(): HasMany app/Models/AcademicYear.php:158: public function invoices(): HasMany app/Models/AcademicYear.php:170: public function containsDate(Carbon $date): bool app/Models/AcademicYear.php:178: public function isInProgress(): bool app/Models/AcademicYear.php:186: public function getStatusLabelAttribute(): string app/Models/Resource.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Resource.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Resource.php:8:class Resource extends Model app/Models/Resource.php:31: protected function casts(): array app/Models/Resource.php:70: public function scopePublished($query) app/Models/Resource.php:75: public function scopeDraft($query) app/Models/Resource.php:80: public function scopeForSubject($query, int $subjectId) app/Models/Resource.php:85: public function scopeForClass($query, int $classId) app/Models/Resource.php:87: return $query->where(function ($q) use ($classId) { app/Models/Resource.php:93: public function scopeForTeacher($query, int $teacherId) app/Models/Resource.php:98: public function scopeOfType($query, string $type) app/Models/Resource.php:103: public function scopeForYear($query, int $yearId) app/Models/Resource.php:105: return $query->where(function ($q) use ($yearId) { app/Models/Resource.php:115: public function teacher(): BelongsTo app/Models/Resource.php:120: public function subject(): BelongsTo app/Models/Resource.php:125: public function category(): BelongsTo app/Models/Resource.php:130: public function schoolClass(): BelongsTo app/Models/Resource.php:135: public function academicYear(): BelongsTo app/Models/Resource.php:144: public function isLink(): bool app/Models/Resource.php:149: public function hasFile(): bool app/Models/Resource.php:154: public function publish(): void app/Models/Resource.php:159: public function unpublish(): void app/Models/Resource.php:164: public function incrementDownloads(): void app/Models/Resource.php:169: public function getFileSizeHumanAttribute(): string app/Models/Resource.php:187: public function getAccessUrlAttribute(): ?string app/Models/ClassTimetable.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ClassTimetable.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/ClassTimetable.php:8:class ClassTimetable extends Model app/Models/ClassTimetable.php:27: protected function casts(): array app/Models/ClassTimetable.php:53: public function scopeActive($query) app/Models/ClassTimetable.php:58: public function scopeForYear($query, int $academicYearId) app/Models/ClassTimetable.php:63: public function scopeForTerm($query, int $termId) app/Models/ClassTimetable.php:68: public function scopeForClass($query, int $classId) app/Models/ClassTimetable.php:73: public function scopeForTeacher($query, int $teacherId) app/Models/ClassTimetable.php:78: public function scopeForDay($query, string $day) app/Models/ClassTimetable.php:83: public function scopeOrderedByTime($query) app/Models/ClassTimetable.php:92: public function schoolClass(): BelongsTo app/Models/ClassTimetable.php:97: public function subject(): BelongsTo app/Models/ClassTimetable.php:102: public function teacher(): BelongsTo app/Models/ClassTimetable.php:107: public function academicYear(): BelongsTo app/Models/ClassTimetable.php:112: public function academicTerm(): BelongsTo app/Models/ClassTimetable.php:124: public static function teacherHasConflict( app/Models/ClassTimetable.php:136: ->where(function ($q) use ($startTime, $endTime) { app/Models/ClassTimetable.php:151: * Check if a class has a conflicting timetable slot. app/Models/ClassTimetable.php:153: public static function classHasConflict( app/Models/ClassTimetable.php:165: ->where(function ($q) use ($startTime, $endTime) { app/Models/ClassTimetable.php:183: public function getTimeRangeAttribute(): string app/Models/ClassTimetable.php:188: public function getDayLabelAttribute(): string app/Models/ClassTimetable.php:193: public function getDurationMinutesAttribute(): int app/Models/ClassTimetable.php:201: public function getSummaryAttribute(): string app/Models/ResourceCategory.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ResourceCategory.php:6:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/ResourceCategory.php:8:class ResourceCategory extends Model app/Models/ResourceCategory.php:21: protected function casts(): array app/Models/ResourceCategory.php:33: public function scopeActive($query) app/Models/ResourceCategory.php:38: public function scopeOrdered($query) app/Models/ResourceCategory.php:47: public function resources(): HasMany app/Models/ResourceCategory.php:52: public function publishedResources(): HasMany app/Models/ResourceCategory.php:63: public function getResourceCountAttribute(): int app/Models/PaymentReceipt.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/PaymentReceipt.php:6:use Illuminate\Database\Eloquent\Model; app/Models/PaymentReceipt.php:7:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/PaymentReceipt.php:8:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/PaymentReceipt.php:10:class PaymentReceipt extends Model app/Models/PaymentReceipt.php:12: use HasFactory, HasUuids; app/Models/PaymentReceipt.php:24: public function uniqueIds(): array app/Models/PaymentReceipt.php:29: public function payment(): BelongsTo { return $this->belongsTo(Payment::class); } app/Models/Subject.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Subject.php:6:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/Subject.php:8:class Subject extends Model app/Models/Subject.php:34: protected function casts(): array app/Models/Subject.php:49: public function scopeActive($query) app/Models/Subject.php:57: public function scopeInactive($query) app/Models/Subject.php:65: public function scopeAlphabetical($query) app/Models/Subject.php:78: public function retire(): void app/Models/Subject.php:86: public function reactivate(): void app/Models/Subject.php:99: public function getDisplayNameAttribute(): string app/Models/Subject.php:108: public function getBadgeStyleAttribute(): string app/Models/Subject.php:117: public function resources(): HasMany app/Models/Subject.php:122: public function publishedResources(): HasMany app/Models/InvoiceItem.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/InvoiceItem.php:6:use Illuminate\Database\Eloquent\Model; app/Models/InvoiceItem.php:7:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/InvoiceItem.php:9:class InvoiceItem extends Model app/Models/InvoiceItem.php:11: use HasFactory; app/Models/InvoiceItem.php:22: public function invoice(): BelongsTo { return $this->belongsTo(Invoice::class); } app/Models/InvoiceItem.php:23: public function feeStructure(): BelongsTo { return $this->belongsTo(FeeStructure::class); } app/Models/Communication/Notification.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/Notification.php:6:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/Notification.php:7:use Illuminate\Database\Eloquent\BroadcastsEvents; app/Models/Communication/Notification.php:8:use Illuminate\Broadcasting\PrivateChannel; app/Models/Communication/Notification.php:9:use App\Models\User; app/Models/Communication/Notification.php:11:class Notification extends Model app/Models/Communication/Notification.php:13: use HasUuids, BroadcastsEvents; app/Models/Communication/Notification.php:22: public function uniqueIds(): array app/Models/Communication/Notification.php:32: public function broadcastOn($event): array app/Models/Communication/Notification.php:44: public function user() app/Models/Communication/Notification.php:54: public function scopeUnread($query) app/Models/Communication/Reaction.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/Reaction.php:6:use Illuminate\Database\Eloquent\BroadcastsEvents; app/Models/Communication/Reaction.php:7:use Illuminate\Broadcasting\PresenceChannel; app/Models/Communication/Reaction.php:8:use App\Models\User; app/Models/Communication/Reaction.php:10:class Reaction extends Model app/Models/Communication/Reaction.php:12: use BroadcastsEvents; app/Models/Communication/Reaction.php:21: public function broadcastOn($event): array app/Models/Communication/Reaction.php:25: $topicId = $this->reactable_type === CommunityTopic::class app/Models/Communication/Reaction.php:34: public function user() { return $this->belongsTo(User::class); } app/Models/Communication/Reaction.php:36: public function reactable() { return $this->morphTo(); } app/Models/Communication/AnnouncementTarget.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/AnnouncementTarget.php:7:class AnnouncementTarget extends Model app/Models/Communication/AnnouncementTarget.php:13: public function announcement() app/Models/Communication/CommunityTopic.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/CommunityTopic.php:6:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/CommunityTopic.php:7:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/CommunityTopic.php:8:use Illuminate\Database\Eloquent\BroadcastsEvents; app/Models/Communication/CommunityTopic.php:9:use Illuminate\Broadcasting\PresenceChannel; app/Models/Communication/CommunityTopic.php:10:use App\Models\User; app/Models/Communication/CommunityTopic.php:11:use App\Models\Assignment; app/Models/Communication/CommunityTopic.php:12:use App\Models\Exam; app/Models/Communication/CommunityTopic.php:13:use Spatie\MediaLibrary\HasMedia; app/Models/Communication/CommunityTopic.php:14:use Spatie\MediaLibrary\InteractsWithMedia; app/Models/Communication/CommunityTopic.php:16:class CommunityTopic extends Model implements HasMedia app/Models/Communication/CommunityTopic.php:18: use HasUuids, SoftDeletes, InteractsWithMedia, BroadcastsEvents; app/Models/Communication/CommunityTopic.php:28: public function uniqueIds(): array { return ['uuid']; } app/Models/Communication/CommunityTopic.php:35: public function broadcastOn($event): array app/Models/Communication/CommunityTopic.php:49: public function channel() { return $this->belongsTo(CommunityChannel::class, 'community_channel_id'); } app/Models/Communication/CommunityTopic.php:50: public function creator() { return $this->belongsTo(User::class, 'creator_id'); } app/Models/Communication/CommunityTopic.php:51: public function replies() { return $this->hasMany(CommunityReply::class); } app/Models/Communication/CommunityTopic.php:52: public function poll() { return $this->hasOne(CommunityPoll::class); } app/Models/Communication/CommunityTopic.php:59: public function assignment() { return $this->belongsTo(Assignment::class); } app/Models/Communication/CommunityTopic.php:60: public function exam() { return $this->belongsTo(Exam::class); } app/Models/Communication/CommunityTopic.php:67: public function reactions() { return $this->morphMany(Reaction::class, 'reactable'); } app/Models/Communication/CommunityTopic.php:68: public function mentions() { return $this->morphMany(Mention::class, 'mentionable'); } app/Models/Communication/CommunityReply.php:3:use Illuminate\Database\Eloquent\Model; app/Models/Communication/CommunityReply.php:4:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/CommunityReply.php:5:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/CommunityReply.php:6:use Illuminate\Database\Eloquent\BroadcastsEvents; app/Models/Communication/CommunityReply.php:7:use Illuminate\Broadcasting\PresenceChannel; app/Models/Communication/CommunityReply.php:8:use App\Models\User; app/Models/Communication/CommunityReply.php:9:use Spatie\MediaLibrary\HasMedia; app/Models/Communication/CommunityReply.php:10:use Spatie\MediaLibrary\InteractsWithMedia; app/Models/Communication/CommunityReply.php:11:class CommunityReply extends Model implements HasMedia { app/Models/Communication/CommunityReply.php:12: use HasUuids, SoftDeletes, InteractsWithMedia, BroadcastsEvents; app/Models/Communication/CommunityReply.php:15: public function uniqueIds(): array { return ['uuid']; } app/Models/Communication/CommunityReply.php:16: public function broadcastOn($event): array { app/Models/Communication/CommunityReply.php:19: public function creator() { return $this->belongsTo(User::class, 'creator_id'); } app/Models/Communication/CommunityReply.php:20: public function topic() { return $this->belongsTo(CommunityTopic::class, 'community_topic_id'); } app/Models/Communication/CommunityReply.php:21: public function reactions() { return $this->morphMany(Reaction::class, 'reactable'); } app/Models/Communication/MessageThreadParticipant.php:5:use Illuminate\Database\Eloquent\Relations\Pivot; app/Models/Communication/MessageThreadParticipant.php:7:class MessageThreadParticipant extends Pivot app/Models/Communication/Community.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/Community.php:6:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/Community.php:7:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/Community.php:8:use App\Models\User; app/Models/Communication/Community.php:9:use Spatie\MediaLibrary\HasMedia; app/Models/Communication/Community.php:10:use Spatie\MediaLibrary\InteractsWithMedia; app/Models/Communication/Community.php:12:class Community extends Model implements HasMedia app/Models/Communication/Community.php:14: use HasUuids, SoftDeletes, InteractsWithMedia; app/Models/Communication/Community.php:18: public function uniqueIds(): array { return ['uuid']; } app/Models/Communication/Community.php:25: public function registerMediaCollections(): void app/Models/Communication/Community.php:39: public function creator() { return $this->belongsTo(User::class, 'creator_id'); } app/Models/Communication/Community.php:41: public function channels() { return $this->hasMany(CommunityChannel::class); } app/Models/Communication/Community.php:44: public function events() { return $this->hasMany(CommunityEvent::class); } app/Models/Communication/Community.php:46: public function members() app/Models/Communication/Community.php:58: public function scopeVisibleToPersona($query, string $persona) app/Models/Communication/MessageThread.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/MessageThread.php:6:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/MessageThread.php:7:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/MessageThread.php:8:use App\Models\User; app/Models/Communication/MessageThread.php:10:class MessageThread extends Model app/Models/Communication/MessageThread.php:12: use HasUuids, SoftDeletes; app/Models/Communication/MessageThread.php:20: public function uniqueIds(): array app/Models/Communication/MessageThread.php:31: public function messages() app/Models/Communication/MessageThread.php:37: public function lastMessage() app/Models/Communication/MessageThread.php:42: public function participants() app/Models/Communication/MessageThread.php:55: public function scopeForUser($query, $userId) app/Models/Communication/MessageThread.php:57: return $query->whereHas('participants', function ($q) use ($userId) { app/Models/Communication/MessageThread.php:62: public function scopeForSchool($query) app/Models/Communication/CommunityEvent.php:3:use Illuminate\Database\Eloquent\Model; app/Models/Communication/CommunityEvent.php:4:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/CommunityEvent.php:5:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/CommunityEvent.php:6:use App\Models\User; app/Models/Communication/CommunityEvent.php:7:use App\Models\ClassSession; app/Models/Communication/CommunityEvent.php:8:class CommunityEvent extends Model { app/Models/Communication/CommunityEvent.php:9: use HasUuids, SoftDeletes; app/Models/Communication/CommunityEvent.php:12: public function uniqueIds(): array { return ['uuid']; } app/Models/Communication/CommunityEvent.php:13: public function host() { return $this->belongsTo(User::class, 'host_id'); } app/Models/Communication/CommunityEvent.php:14: public function classSession() { return $this->belongsTo(ClassSession::class); } app/Models/Communication/Announcement.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/Announcement.php:6:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/Announcement.php:7:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/Announcement.php:8:use Illuminate\Database\Eloquent\BroadcastsEvents; app/Models/Communication/Announcement.php:9:use Illuminate\Broadcasting\PrivateChannel; app/Models/Communication/Announcement.php:10:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Communication/Announcement.php:11:use Spatie\Activitylog\LogOptions; app/Models/Communication/Announcement.php:12:use App\Models\User; app/Models/Communication/Announcement.php:14:class Announcement extends Model app/Models/Communication/Announcement.php:16: use HasUuids, SoftDeletes, LogsActivity, BroadcastsEvents; app/Models/Communication/Announcement.php:27: public function uniqueIds(): array { return ['uuid']; } app/Models/Communication/Announcement.php:29: public function getActivitylogOptions(): LogOptions app/Models/Communication/Announcement.php:34: public function broadcastOn($event): array { return []; } app/Models/Communication/Announcement.php:41: public function targets() { return $this->hasMany(AnnouncementTarget::class); } app/Models/Communication/Announcement.php:43: public function creator() { return $this->belongsTo(User::class, 'created_by'); } app/Models/Communication/Announcement.php:46: public function readers() app/Models/Communication/Announcement.php:57: public function scopePublished($query) { return $query->whereNotNull('published_at'); } app/Models/Communication/Announcement.php:59: public function scopeActive($query) app/Models/Communication/Announcement.php:62: ->where(function ($q) { app/Models/Communication/Streak.php:3:use Illuminate\Database\Eloquent\Model; app/Models/Communication/Streak.php:4:use App\Models\User; app/Models/Communication/Streak.php:5:class Streak extends Model { app/Models/Communication/Streak.php:8: public function user() { return $this->belongsTo(User::class); } app/Models/Communication/ReputationTransaction.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/ReputationTransaction.php:6:use App\Models\User; app/Models/Communication/ReputationTransaction.php:8:class ReputationTransaction extends Model app/Models/Communication/ReputationTransaction.php:13: protected static function booted() app/Models/Communication/ReputationTransaction.php:19: public function user() { return $this->belongsTo(User::class); } app/Models/Communication/ReputationTransaction.php:22: public function source() { return $this->morphTo(); } app/Models/Communication/ReputationTransaction.php:29: public function scopeForPersona($query, string $persona) app/Models/Communication/ActivityFeed.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/ActivityFeed.php:6:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/ActivityFeed.php:7:use App\Models\User; app/Models/Communication/ActivityFeed.php:9:class ActivityFeed extends Model app/Models/Communication/ActivityFeed.php:11: use HasUuids; app/Models/Communication/ActivityFeed.php:21: public function uniqueIds(): array app/Models/Communication/ActivityFeed.php:31: protected static function booted() app/Models/Communication/ActivityFeed.php:42: public function user() app/Models/Communication/ActivityFeed.php:47: public function actor() app/Models/Communication/ActivityFeed.php:52: public function context() app/Models/Communication/ActivityFeed.php:62: public function scopeForSchool($query) app/Models/Communication/ActivityFeed.php:66: public function scopeEventType($query, $type) app/Models/Communication/Mention.php:3:use Illuminate\Database\Eloquent\Model; app/Models/Communication/Mention.php:4:use App\Models\User; app/Models/Communication/Mention.php:5:class Mention extends Model { app/Models/Communication/Mention.php:8: public function user() { return $this->belongsTo(User::class); } app/Models/Communication/Mention.php:9: public function mentionable() { return $this->morphTo(); } app/Models/Communication/CommunityChannel.php:3:use Illuminate\Database\Eloquent\Model; app/Models/Communication/CommunityChannel.php:4:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/CommunityChannel.php:5:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/CommunityChannel.php:6:class CommunityChannel extends Model { app/Models/Communication/CommunityChannel.php:7: use HasUuids, SoftDeletes; app/Models/Communication/CommunityChannel.php:9: public function uniqueIds(): array { return ['uuid']; } app/Models/Communication/CommunityChannel.php:10: public function topics() { return $this->hasMany(CommunityTopic::class); } app/Models/Communication/Message.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Communication/Message.php:6:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Communication/Message.php:7:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Communication/Message.php:8:use Illuminate\Database\Eloquent\BroadcastsEvents; app/Models/Communication/Message.php:9:use Illuminate\Broadcasting\PrivateChannel; app/Models/Communication/Message.php:10:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Communication/Message.php:11:use Spatie\Activitylog\LogOptions; app/Models/Communication/Message.php:12:use App\Models\User; app/Models/Communication/Message.php:14:class Message extends Model app/Models/Communication/Message.php:16: use HasUuids, SoftDeletes, LogsActivity, BroadcastsEvents; app/Models/Communication/Message.php:24: public function uniqueIds(): array app/Models/Communication/Message.php:34: public function getActivitylogOptions(): LogOptions app/Models/Communication/Message.php:47: public function broadcastOn($event): array app/Models/Communication/Message.php:59: public function thread() app/Models/Communication/Message.php:64: public function sender() app/Models/Communication/Message.php:69: public function recipients() app/Models/Communication/Message.php:81: public function scopeUnread($query, $userId) app/Models/Communication/Message.php:83: return $query->whereHas('recipients', function ($q) use ($userId) { app/Models/ParentActionItemLog.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ParentActionItemLog.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/ParentActionItemLog.php:8:class ParentActionItemLog extends Model app/Models/ParentActionItemLog.php:21: public function actionItem(): BelongsTo app/Models/ParentActionItemLog.php:26: public function performedBy(): BelongsTo app/Models/FeeCategory.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/FeeCategory.php:6:use Illuminate\Database\Eloquent\Model; app/Models/FeeCategory.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/FeeCategory.php:8:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/FeeCategory.php:10:class FeeCategory extends Model app/Models/FeeCategory.php:12: use HasFactory, SoftDeletes; app/Models/FeeCategory.php:29: public function feeStructures(): HasMany app/Models/FeeCategory.php:34: public function invoiceItems(): HasMany app/Models/FeeStructure.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/FeeStructure.php:6:use Illuminate\Database\Eloquent\Model; app/Models/FeeStructure.php:7:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/FeeStructure.php:8:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/FeeStructure.php:9:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/FeeStructure.php:10:use Spatie\Activitylog\Traits\LogsActivity; app/Models/FeeStructure.php:11:use Spatie\Activitylog\LogOptions; app/Models/FeeStructure.php:13:class FeeStructure extends Model app/Models/FeeStructure.php:15: use HasFactory, SoftDeletes, LogsActivity; app/Models/FeeStructure.php:29: public function getActivitylogOptions(): LogOptions app/Models/FeeStructure.php:38: public function category(): BelongsTo { return $this->belongsTo(FeeCategory::class, 'fee_category_id'); } app/Models/FeeStructure.php:39: public function academicYear(): BelongsTo { return $this->belongsTo(AcademicYear::class, 'academic_year_id'); } app/Models/FeeStructure.php:40: public function term(): BelongsTo { return $this->belongsTo(AcademicYearTerm::class, 'term_id'); } app/Models/FeeStructure.php:41: public function assignments(): HasMany { return $this->hasMany(StudentFeeAssignment::class); } app/Models/StudentQuestionAnswer.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentQuestionAnswer.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentQuestionAnswer.php:8:class StudentQuestionAnswer extends Model app/Models/StudentQuestionAnswer.php:27: protected function casts(): array app/Models/StudentQuestionAnswer.php:42: public function scopeCorrect($query) app/Models/StudentQuestionAnswer.php:47: public function scopeIncorrect($query) app/Models/StudentQuestionAnswer.php:52: public function scopeRequiresReview($query) app/Models/StudentQuestionAnswer.php:57: public function scopeForStudent($query, int $studentId) app/Models/StudentQuestionAnswer.php:62: public function scopeForSubmission($query, int $submissionId) app/Models/StudentQuestionAnswer.php:67: public function scopeForExamResult($query, int $examResultId) app/Models/StudentQuestionAnswer.php:76: public function question(): BelongsTo app/Models/StudentQuestionAnswer.php:81: public function student(): BelongsTo app/Models/StudentQuestionAnswer.php:86: public function submission(): BelongsTo app/Models/StudentQuestionAnswer.php:91: public function examResult(): BelongsTo app/Models/StudentQuestionAnswer.php:96: public function selectedOption(): BelongsTo app/Models/StudentQuestionAnswer.php:108: public function submitAndGrade( app/Models/StudentQuestionAnswer.php:136: public function overrideGrade( app/Models/SchoolClass.php:5:use Illuminate\Database\Eloquent\Model; app/Models/SchoolClass.php:6:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/SchoolClass.php:8:class SchoolClass extends Model app/Models/SchoolClass.php:13: * Explicitly set because Laravel would guess 'school_classes' app/Models/SchoolClass.php:36: protected function casts(): array app/Models/SchoolClass.php:52: public function scopeActive($query) app/Models/SchoolClass.php:60: public function scopeAlphabetical($query) app/Models/SchoolClass.php:70: * A class has many student enrollments. app/Models/SchoolClass.php:73: public function enrollments(): HasMany app/Models/SchoolClass.php:81: public function enrollmentsForYear(int $academicYearId): HasMany app/Models/SchoolClass.php:87: public function resources(): HasMany app/Models/SchoolClass.php:99: public function currentEnrollmentCount(int $academicYearId): int app/Models/SchoolClass.php:108: * Check if the class has available capacity for a given academic year. app/Models/SchoolClass.php:110: public function hasCapacity(int $academicYearId): bool app/Models/SchoolClass.php:118: public function remainingCapacity(int $academicYearId): int app/Models/SchoolClass.php:127: public function getDisplayNameAttribute(): string app/Models/SchoolClass.php:133: * Retire this class from new enrollments. app/Models/SchoolClass.php:135: public function retire(): void app/Models/SchoolClass.php:143: public function reactivate(): void app/Models/SchoolClass.php:148: public function attendance(): HasMany app/Models/ParentActionItem.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ParentActionItem.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/ParentActionItem.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/ParentActionItem.php:9:class ParentActionItem extends Model app/Models/ParentActionItem.php:23: public function parent(): BelongsTo app/Models/ParentActionItem.php:28: public function student(): BelongsTo app/Models/ParentActionItem.php:33: public function teacher(): BelongsTo app/Models/ParentActionItem.php:38: public function createdBy(): BelongsTo app/Models/ParentActionItem.php:43: public function logs(): HasMany app/Models/ParentActionItem.php:50: public function complete(User $user): void app/Models/ParentActionItem.php:62: public function isOverdue(): bool app/Models/ParentActionItem.php:67: public function scopePending($query) app/Models/ParentActionItem.php:72: public function scopeForParent($query, int $parentId) app/Models/TeacherCompensationSetting.php:5:use Illuminate\Database\Eloquent\Model; app/Models/TeacherCompensationSetting.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/TeacherCompensationSetting.php:8:class TeacherCompensationSetting extends Model app/Models/TeacherCompensationSetting.php:21: public function teacher(): BelongsTo app/Models/TeacherCompensationSetting.php:26: public function calculateGross(int $sessionCount, float $durationHours = 1.0): float app/Models/TeacherCompensationSetting.php:35: public function calculateAdminFee(float $gross): float app/Models/TeacherCompensationSetting.php:44: public function calculateNet(float $gross): float app/Models/Exam.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Exam.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Exam.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/Exam.php:9:class Exam extends Model app/Models/Exam.php:33: protected function casts(): array app/Models/Exam.php:74: public function scopePublished($query) app/Models/Exam.php:79: public function scopeCompleted($query) app/Models/Exam.php:84: public function scopeForClass($query, int $classId) app/Models/Exam.php:89: public function scopeForSubject($query, int $subjectId) app/Models/Exam.php:94: public function scopeForTeacher($query, int $teacherId) app/Models/Exam.php:99: public function scopeForYear($query, int $yearId) app/Models/Exam.php:104: public function scopeUpcoming($query) app/Models/Exam.php:115: public function teacher(): BelongsTo app/Models/Exam.php:120: public function subject(): BelongsTo app/Models/Exam.php:125: public function schoolClass(): BelongsTo app/Models/Exam.php:130: public function academicYear(): BelongsTo app/Models/Exam.php:135: public function academicTerm(): BelongsTo app/Models/Exam.php:140: public function classSession(): BelongsTo app/Models/Exam.php:145: public function results(): HasMany app/Models/Exam.php:150: public function finalisedResults(): HasMany app/Models/Exam.php:160: public function publish(): void app/Models/Exam.php:165: public function complete(): void app/Models/Exam.php:170: public function cancel(): void app/Models/Exam.php:175: public function isUpcoming(): bool app/Models/Exam.php:181: public function getAverageScoreAttribute(): ?float app/Models/Exam.php:186: public function getAveragePercentageAttribute(): ?float app/Models/Exam.php:191: public function getPassRateAttribute(): ?float app/Models/Exam.php:205: public function questions(): HasMany app/Models/Exam.php:211: public function activeQuestions(): HasMany app/Models/Exam.php:218: public function getTotalPointsAttribute(): float app/Models/Exam.php:223: public function isQuestionBased(): bool app/Models/ClassSession.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/ClassSession.php:6:use Illuminate\Database\Eloquent\Model; app/Models/ClassSession.php:7:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/ClassSession.php:8:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/ClassSession.php:9:use Illuminate\Support\Str; app/Models/ClassSession.php:11:class ClassSession extends Model app/Models/ClassSession.php:13: use HasFactory; app/Models/ClassSession.php:46: protected function casts(): array app/Models/ClassSession.php:82: public function scopeScheduled($query) app/Models/ClassSession.php:87: public function scopeInProgress($query) app/Models/ClassSession.php:92: public function scopeCompleted($query) app/Models/ClassSession.php:97: public function scopeCancelled($query) app/Models/ClassSession.php:102: public function scopeOnline($query) app/Models/ClassSession.php:107: public function scopeInPerson($query) app/Models/ClassSession.php:112: public function scopeForDate($query, string $date) app/Models/ClassSession.php:117: public function scopeForDateRange($query, string $from, string $to) app/Models/ClassSession.php:122: public function scopeForTeacher($query, int $teacherId) app/Models/ClassSession.php:127: public function scopeForClass($query, int $classId) app/Models/ClassSession.php:132: public function scopeForYear($query, int $academicYearId) app/Models/ClassSession.php:137: public function scopeUpcoming($query) app/Models/ClassSession.php:145: public function scopePast($query) app/Models/ClassSession.php:154: public function schoolClass(): BelongsTo app/Models/ClassSession.php:159: public function subject(): BelongsTo app/Models/ClassSession.php:164: public function teacher(): BelongsTo app/Models/ClassSession.php:169: public function academicYear(): BelongsTo app/Models/ClassSession.php:174: public function academicTerm(): BelongsTo app/Models/ClassSession.php:179: public function timetable(): BelongsTo app/Models/ClassSession.php:184: public function attendance(): HasMany app/Models/ClassSession.php:190: public function joins(): HasMany app/Models/ClassSession.php:195: public function recordings(): HasMany app/Models/ClassSession.php:208: public function start(): void app/Models/ClassSession.php:225: public function complete(?string $notes = null): void app/Models/ClassSession.php:237: public function cancel(?string $reason = null): void app/Models/ClassSession.php:253: public function generateZoomSessionName(): string app/Models/ClassSession.php:258: public function hasRecording(): bool app/Models/ClassSession.php:263: public function isRecording(): bool app/Models/ClassSession.php:272: public function isOnline(): bool app/Models/ClassSession.php:277: public function isInPerson(): bool app/Models/ClassSession.php:282: public function isInProgress(): bool app/Models/ClassSession.php:287: public function isScheduled(): bool app/Models/ClassSession.php:292: public function isCompleted(): bool app/Models/ClassSession.php:297: public function isUpcoming(): bool app/Models/ClassSession.php:303: public function isPast(): bool app/Models/ClassSession.php:308: public function getDurationMinutesAttribute(): int app/Models/ClassSession.php:320: public function getTimeRangeAttribute(): string app/Models/ClassSession.php:325: public function getLocationDisplayAttribute(): string app/Models/ClassSession.php:334: public function getSummaryAttribute(): string app/Models/QuizQuestion.php:5:use Illuminate\Database\Eloquent\Model; app/Models/QuizQuestion.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/QuizQuestion.php:7:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/QuizQuestion.php:9:class QuizQuestion extends Model app/Models/QuizQuestion.php:29: protected function casts(): array app/Models/QuizQuestion.php:63: public function scopeActive($query) app/Models/QuizQuestion.php:68: public function scopeOrdered($query) app/Models/QuizQuestion.php:73: public function scopeForExam($query, int $examId) app/Models/QuizQuestion.php:78: public function scopeForAssignment($query, int $assignmentId) app/Models/QuizQuestion.php:83: public function scopeRequiringReview($query) app/Models/QuizQuestion.php:92: public function exam(): BelongsTo app/Models/QuizQuestion.php:97: public function assignment(): BelongsTo app/Models/QuizQuestion.php:102: public function createdBy(): BelongsTo app/Models/QuizQuestion.php:107: public function options(): HasMany app/Models/QuizQuestion.php:113: public function correctOption(): ?QuizQuestionOption app/Models/QuizQuestion.php:118: public function studentAnswers(): HasMany app/Models/QuizQuestion.php:127: public function isMultipleChoice(): bool app/Models/QuizQuestion.php:132: public function isTrueFalse(): bool app/Models/QuizQuestion.php:137: public function isShortAnswer(): bool app/Models/QuizQuestion.php:142: public function isNumeric(): bool app/Models/QuizQuestion.php:147: public function isAutoGraded(): bool app/Models/QuizQuestion.php:164: public function gradeAnswer( app/Models/QuizQuestion.php:178: private function gradeOptionAnswer(?int $selectedOptionId): array app/Models/QuizQuestion.php:194: private function gradeNumericAnswer(?float $numericAnswer): array app/Models/QuizQuestion.php:210: private function gradeTextAnswer(?string $textAnswer): array app/Models/User.php:5:use Database\Factories\UserFactory; app/Models/User.php:6:use Illuminate\Contracts\Auth\MustVerifyEmail; app/Models/User.php:7:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/User.php:8:use Illuminate\Database\Eloquent\Relations\BelongsToMany; app/Models/User.php:9:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/User.php:10:use Illuminate\Database\Eloquent\Relations\HasOne; app/Models/User.php:11:use Illuminate\Foundation\Auth\User as Authenticatable; app/Models/User.php:12:use Illuminate\Notifications\Notifiable; app/Models/User.php:13:use Spatie\Permission\Traits\HasRoles; app/Models/User.php:14:use Spatie\MediaLibrary\HasMedia; app/Models/User.php:15:use Spatie\MediaLibrary\InteractsWithMedia; app/Models/User.php:17:class User extends Authenticatable implements MustVerifyEmail, HasMedia app/Models/User.php:19: /** @use HasFactory */ app/Models/User.php:20: use HasFactory, HasRoles, Notifiable, InteractsWithMedia; app/Models/User.php:55: protected function casts(): array app/Models/User.php:73: public function scopeActive($query) app/Models/User.php:82: public function scopeSuspended($query) app/Models/User.php:94: public function isActive(): bool app/Models/User.php:102: public function isSuspended(): bool app/Models/User.php:111: public function getAvatarUrlAttribute(): string app/Models/User.php:127: public function profile(): HasOne app/Models/User.php:136: public function students(): BelongsToMany app/Models/User.php:150: public function parents(): BelongsToMany app/Models/User.php:161: * A student's class enrollments. app/Models/User.php:164: public function classEnrollments(): HasMany app/Models/User.php:173: public function subjectEnrollments(): HasMany app/Models/User.php:181: public function availability(): HasMany app/Models/User.php:189: public function subjectAssignments(): HasMany app/Models/User.php:197: public function studentAssignments(): HasMany app/Models/User.php:205: public function teacherAssignments(): HasMany app/Models/User.php:213: public function assignmentHistory(): HasMany app/Models/User.php:221: public function timetables(): HasMany app/Models/User.php:227: * A teacher's class sessions. app/Models/User.php:229: public function classSessions(): HasMany app/Models/User.php:237: public function assignments(): HasMany app/Models/User.php:245: public function assignmentSubmissions(): HasMany app/Models/User.php:253: public function exams(): HasMany app/Models/User.php:261: public function examResults(): HasMany app/Models/User.php:269: public function attendance(): HasMany app/Models/User.php:277: public function loggedAttendance(): HasMany app/Models/User.php:285: public function goals(): HasMany app/Models/User.php:293: public function createdGoals(): HasMany app/Models/User.php:301: public function interventionPlans(): HasMany app/Models/User.php:309: public function createdInterventionPlans(): HasMany app/Models/User.php:321: public function actionItems(): HasMany app/Models/User.php:329: public function policyAcceptances(): HasMany app/Models/User.php:337: public function credentialDeliveryLogs(): HasMany app/Models/User.php:345: public function invitationsSent(): HasMany app/Models/User.php:353: public function notifications(): HasMany app/Models/User.php:361: public function notificationPreferences(): HasMany app/Models/User.php:369: public function compensationSetting(): HasOne app/Models/User.php:377: public function sessionJoins(): HasMany app/Models/User.php:385: public function primaryParent(): ?User app/Models/User.php:395: public function totalPoints(): int app/Models/User.php:407: public function studentInvoices(): HasMany app/Models/User.php:415: public function parentInvoices(): HasMany app/Models/User.php:423: public function financialPayments(): HasMany app/Models/User.php:431: public function feeAssignments(): HasMany app/Models/User.php:440: public function isStudent(): bool app/Models/User.php:445: public function isParent(): bool app/Models/User.php:450: public function isTeacher(): bool app/Models/User.php:455: public function isAdmin(): bool app/Models/User.php:460: public function isSuperAdmin(): bool app/Models/User.php:465: public function isPrimaryParentOf(int $studentId): bool app/Models/TeacherInvitation.php:5:use Illuminate\Database\Eloquent\Model; app/Models/TeacherInvitation.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/TeacherInvitation.php:7:use Illuminate\Support\Str; app/Models/TeacherInvitation.php:9:class TeacherInvitation extends Model app/Models/TeacherInvitation.php:23: public function invitedBy(): BelongsTo app/Models/TeacherInvitation.php:28: public function acceptedBy(): BelongsTo app/Models/TeacherInvitation.php:35: public function isValid(): bool app/Models/TeacherInvitation.php:40: public function isExpired(): bool app/Models/TeacherInvitation.php:45: public function accept(User $user): void app/Models/TeacherInvitation.php:54: public static function generateToken(): string app/Models/TeacherInvitation.php:59: public function scopePending($query) app/Models/StudentClassEnrollment.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentClassEnrollment.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentClassEnrollment.php:8:class StudentClassEnrollment extends Model app/Models/StudentClassEnrollment.php:36: protected function casts(): array app/Models/StudentClassEnrollment.php:51: public function scopeActive($query) app/Models/StudentClassEnrollment.php:59: public function scopeForYear($query, int $academicYearId) app/Models/StudentClassEnrollment.php:67: public function scopeForTerm($query, int $termId) app/Models/StudentClassEnrollment.php:75: public function scopeForClass($query, int $classId) app/Models/StudentClassEnrollment.php:87: public function student(): BelongsTo app/Models/StudentClassEnrollment.php:93: * The class enrolled in. app/Models/StudentClassEnrollment.php:95: public function schoolClass(): BelongsTo app/Models/StudentClassEnrollment.php:103: public function academicYear(): BelongsTo app/Models/StudentClassEnrollment.php:111: public function academicTerm(): BelongsTo app/Models/StudentClassEnrollment.php:123: public function withdraw(?string $notes = null): void app/Models/StudentClassEnrollment.php:135: public function transfer(?string $notes = null): void app/Models/StudentClassEnrollment.php:147: public function complete(): void app/Models/StudentClassEnrollment.php:162: public function isActive(): bool app/Models/StudentClassEnrollment.php:170: public function getSummaryAttribute(): string app/Models/StudentOpsScore.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentOpsScore.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentOpsScore.php:8:class StudentOpsScore extends Model app/Models/StudentOpsScore.php:20: protected function casts(): array app/Models/StudentOpsScore.php:42: public function scopeForYear($query, int $yearId) app/Models/StudentOpsScore.php:47: public function scopeForClass($query, int $classId) app/Models/StudentOpsScore.php:52: public function scopeTopPerformers($query, int $limit = 10) app/Models/StudentOpsScore.php:57: public function student(): BelongsTo app/Models/StudentOpsScore.php:62: public function academicYear(): BelongsTo app/Models/StudentOpsScore.php:67: public function schoolClass(): BelongsTo app/Models/StudentOpsScore.php:72: public function getTrendLabelAttribute(): string app/Models/StudentOpsScore.php:81: public function getLetterGradeAttribute(): string app/Models/ClassSessionJoin.php:5:use Illuminate\Database\Eloquent\Model; app/Models/ClassSessionJoin.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/ClassSessionJoin.php:8:class ClassSessionJoin extends Model app/Models/ClassSessionJoin.php:22: public function session(): BelongsTo app/Models/ClassSessionJoin.php:27: public function student(): BelongsTo app/Models/ClassSessionJoin.php:32: public function markLeft(): void app/Models/TeacherSubjectAssignment.php:5:use Illuminate\Database\Eloquent\Model; app/Models/TeacherSubjectAssignment.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/TeacherSubjectAssignment.php:8:class TeacherSubjectAssignment extends Model app/Models/TeacherSubjectAssignment.php:23: protected function casts(): array app/Models/TeacherSubjectAssignment.php:35: public function scopeActive($query) app/Models/TeacherSubjectAssignment.php:40: public function scopeForYear($query, int $academicYearId) app/Models/TeacherSubjectAssignment.php:45: public function scopeForTeacher($query, int $teacherId) app/Models/TeacherSubjectAssignment.php:50: public function scopeForClass($query, int $classId) app/Models/TeacherSubjectAssignment.php:59: public function teacher(): BelongsTo app/Models/TeacherSubjectAssignment.php:64: public function subject(): BelongsTo app/Models/TeacherSubjectAssignment.php:69: public function schoolClass(): BelongsTo app/Models/TeacherSubjectAssignment.php:74: public function academicYear(): BelongsTo app/Models/TeacherSubjectAssignment.php:83: public function isActive(): bool app/Models/TeacherSubjectAssignment.php:88: public function isPrivateTuition(): bool app/Models/TeacherSubjectAssignment.php:93: public function deactivate(?string $notes = null): void app/Models/TeacherSubjectAssignment.php:102: public function getSummaryAttribute(): string app/Models/TeacherSubjectAssignment.php:104: $class = $this->schoolClass?->name ?? 'Private Tuition'; app/Models/TeacherAvailability.php:5:use Illuminate\Database\Eloquent\Model; app/Models/TeacherAvailability.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/TeacherAvailability.php:8:class TeacherAvailability extends Model app/Models/TeacherAvailability.php:21: protected function casts(): array app/Models/TeacherAvailability.php:41: public function scopeActive($query) app/Models/TeacherAvailability.php:46: public function scopeForDay($query, string $day) app/Models/TeacherAvailability.php:55: public function teacher(): BelongsTo app/Models/TeacherAvailability.php:67: public function coversTime(string $time): bool app/Models/TeacherAvailability.php:76: public function getTimeRangeAttribute(): string app/Models/TeacherAvailability.php:84: public function getDayLabelAttribute(): string app/Models/StudentPoint.php:5:use Illuminate\Database\Eloquent\Model; app/Models/StudentPoint.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/StudentPoint.php:8:class StudentPoint extends Model app/Models/StudentPoint.php:17: protected function casts(): array app/Models/StudentPoint.php:38: public function scopeForStudent($query, int $studentId) app/Models/StudentPoint.php:43: public function scopeOfSource($query, string $source) app/Models/StudentPoint.php:48: public function student(): BelongsTo app/Models/StudentPoint.php:53: public function awardedBy(): BelongsTo app/Models/StudentPoint.php:61: public static function award( app/Models/StudentPoint.php:82: public static function totalForStudent(int $studentId): int app/Models/Attendance.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Attendance.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Attendance.php:7:use Illuminate\Support\Collection; app/Models/Attendance.php:9:class Attendance extends Model app/Models/Attendance.php:29: protected function casts(): array app/Models/Attendance.php:63: public function scopePresent($query) app/Models/Attendance.php:68: public function scopeAbsent($query) app/Models/Attendance.php:73: public function scopeLate($query) app/Models/Attendance.php:78: public function scopeExcused($query) app/Models/Attendance.php:83: public function scopeForStudent($query, int $studentId) app/Models/Attendance.php:88: public function scopeForClass($query, int $classId) app/Models/Attendance.php:93: public function scopeForSubject($query, int $subjectId) app/Models/Attendance.php:98: public function scopeForYear($query, int $yearId) app/Models/Attendance.php:103: public function scopeForSession($query, int $sessionId) app/Models/Attendance.php:108: public function scopeForDateRange($query, string $from, string $to) app/Models/Attendance.php:113: public function scopeOnline($query) app/Models/Attendance.php:118: public function scopeInPerson($query) app/Models/Attendance.php:123: public function scopeVerified($query) app/Models/Attendance.php:132: public function student(): BelongsTo app/Models/Attendance.php:137: public function teacher(): BelongsTo app/Models/Attendance.php:142: public function classSession(): BelongsTo app/Models/Attendance.php:147: public function schoolClass(): BelongsTo app/Models/Attendance.php:152: public function subject(): BelongsTo app/Models/Attendance.php:157: public function academicYear(): BelongsTo app/Models/Attendance.php:162: public function academicTerm(): BelongsTo app/Models/Attendance.php:172: * Log attendance for an entire class session in one call. app/Models/Attendance.php:179: public static function logForSession( app/Models/Attendance.php:223: public static function rateForStudent( app/Models/Attendance.php:248: public function isPresent(): bool app/Models/Attendance.php:253: public function isAbsent(): bool app/Models/Attendance.php:258: public function isLate(): bool app/Models/Attendance.php:263: public function isExcused(): bool app/Models/Attendance.php:268: public function verify(): void app/Models/Attendance.php:273: public function getStatusLabelAttribute(): string app/Models/RewardLevel.php:5:use Illuminate\Database\Eloquent\Model; app/Models/RewardLevel.php:7:class RewardLevel extends Model app/Models/RewardLevel.php:16: protected function casts(): array app/Models/RewardLevel.php:34: public function scopeOrdered($query) app/Models/RewardLevel.php:42: public static function tierForPoints(int $points): ?static app/Models/Payment.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/Payment.php:6:use Illuminate\Database\Eloquent\Model; app/Models/Payment.php:7:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Payment.php:8:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Payment.php:9:use Illuminate\Database\Eloquent\Relations\HasOne; app/Models/Payment.php:10:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Payment.php:11:use Spatie\Activitylog\LogOptions; app/Models/Payment.php:13:class Payment extends Model app/Models/Payment.php:15: use HasFactory, SoftDeletes, LogsActivity; app/Models/Payment.php:31: public function getActivitylogOptions(): LogOptions app/Models/Payment.php:39: public function invoice(): BelongsTo { return $this->belongsTo(Invoice::class); } app/Models/Payment.php:40: public function parent(): BelongsTo { return $this->belongsTo(User::class, 'parent_id'); } app/Models/Payment.php:41: public function recorder(): BelongsTo { return $this->belongsTo(User::class, 'recorded_by'); } app/Models/Payment.php:42: public function receipt(): HasOne { return $this->hasOne(PaymentReceipt::class); } app/Models/Invoice.php:5:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/Invoice.php:6:use Illuminate\Database\Eloquent\Model; app/Models/Invoice.php:7:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Invoice.php:8:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Invoice.php:9:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Invoice.php:10:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/Invoice.php:11:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Invoice.php:12:use Spatie\Activitylog\LogOptions; app/Models/Invoice.php:14:class Invoice extends Model app/Models/Invoice.php:16: use HasFactory, SoftDeletes, HasUuids, LogsActivity; app/Models/Invoice.php:33: public function uniqueIds(): array app/Models/Invoice.php:38: public function getActivitylogOptions(): LogOptions app/Models/Invoice.php:46: public function student(): BelongsTo { return $this->belongsTo(User::class, 'student_id'); } app/Models/Invoice.php:47: public function parent(): BelongsTo { return $this->belongsTo(User::class, 'parent_id'); } app/Models/Invoice.php:48: public function academicYear(): BelongsTo { return $this->belongsTo(AcademicYear::class, 'academic_year_id'); } app/Models/Invoice.php:49: public function term(): BelongsTo { return $this->belongsTo(AcademicYearTerm::class, 'term_id'); } app/Models/Invoice.php:50: public function creator(): BelongsTo { return $this->belongsTo(User::class, 'created_by'); } app/Models/Invoice.php:51: public function items(): HasMany { return $this->hasMany(InvoiceItem::class, 'invoice_id'); } app/Models/Invoice.php:52: public function payments(): HasMany { return $this->hasMany(Payment::class, 'invoice_id'); } app/Models/Invoice.php:54: public function isPaid(): bool app/Models/Invoice.php:59:public function isOverdue(): bool app/Models/Invoice.php:64:public function isPartiallyPaid(): bool app/Models/Invoice.php:69:public function canAcceptPayment(): bool app/Models/Payroll/PayrollTransaction.php:5:use App\Exceptions\ImmutableRecordException; app/Models/Payroll/PayrollTransaction.php:6:use App\Models\User; app/Models/Payroll/PayrollTransaction.php:7:use Illuminate\Database\Eloquent\Model; app/Models/Payroll/PayrollTransaction.php:8:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Payroll/PayrollTransaction.php:9:use Illuminate\Database\Eloquent\Relations\MorphTo; app/Models/Payroll/PayrollTransaction.php:10:use Illuminate\Support\Str; app/Models/Payroll/PayrollTransaction.php:11:use Spatie\Activitylog\LogOptions; app/Models/Payroll/PayrollTransaction.php:12:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Payroll/PayrollTransaction.php:14:class PayrollTransaction extends Model app/Models/Payroll/PayrollTransaction.php:16: use LogsActivity; app/Models/Payroll/PayrollTransaction.php:26: protected static function booted(): void app/Models/Payroll/PayrollTransaction.php:28: static::creating(function (self $model): void { app/Models/Payroll/PayrollTransaction.php:34: static::updating(function (self $model): void { app/Models/Payroll/PayrollTransaction.php:38: static::deleting(function (self $model): void { app/Models/Payroll/PayrollTransaction.php:46: protected function guardImmutablePeriod(): void app/Models/Payroll/PayrollTransaction.php:61: public function getActivitylogOptions(): LogOptions app/Models/Payroll/PayrollTransaction.php:72: public function payrollPeriod(): BelongsTo app/Models/Payroll/PayrollTransaction.php:83: public function calculation(): BelongsTo app/Models/Payroll/PayrollTransaction.php:100: public function source(): MorphTo app/Models/Payroll/PayrollTransaction.php:108: public function reversedTransaction(): BelongsTo app/Models/Payroll/PayrollTransaction.php:119: public function reverser(): BelongsTo app/Models/Payroll/PayrollCalculation.php:5:use App\Exceptions\ImmutableRecordException; app/Models/Payroll/PayrollCalculation.php:6:use App\Models\User; app/Models/Payroll/PayrollCalculation.php:7:use Database\Factories\PayrollCalculationFactory; app/Models/Payroll/PayrollCalculation.php:8:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/Payroll/PayrollCalculation.php:9:use Illuminate\Database\Eloquent\Model; app/Models/Payroll/PayrollCalculation.php:10:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Payroll/PayrollCalculation.php:11:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/Payroll/PayrollCalculation.php:12:use Illuminate\Support\Str; app/Models/Payroll/PayrollCalculation.php:13:use Spatie\Activitylog\LogOptions; app/Models/Payroll/PayrollCalculation.php:14:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Payroll/PayrollCalculation.php:16:class PayrollCalculation extends Model app/Models/Payroll/PayrollCalculation.php:18: use HasFactory; app/Models/Payroll/PayrollCalculation.php:19: use LogsActivity; app/Models/Payroll/PayrollCalculation.php:26: protected static function newFactory() app/Models/Payroll/PayrollCalculation.php:43: protected static function booted(): void app/Models/Payroll/PayrollCalculation.php:45: static::creating(function (self $model): void { app/Models/Payroll/PayrollCalculation.php:51: static::updating(function (self $model): void { app/Models/Payroll/PayrollCalculation.php:55: static::deleting(function (self $model): void { app/Models/Payroll/PayrollCalculation.php:60: protected function guardImmutablePeriod(): void app/Models/Payroll/PayrollCalculation.php:76: public function getActivitylogOptions(): LogOptions app/Models/Payroll/PayrollCalculation.php:84: public function payrollPeriod(): BelongsTo app/Models/Payroll/PayrollCalculation.php:92: public function teacher(): BelongsTo app/Models/Payroll/PayrollCalculation.php:100: public function signer(): BelongsTo app/Models/Payroll/PayrollCalculation.php:108: public function payer(): BelongsTo app/Models/Payroll/PayrollCalculation.php:116: public function engineVersion(): BelongsTo app/Models/Payroll/PayrollCalculation.php:124: public function transactions(): HasMany app/Models/Payroll/PayrollEngineVersion.php:5:use App\Models\User; app/Models/Payroll/PayrollEngineVersion.php:6:use Database\Factories\PayrollEngineVersionFactory; app/Models/Payroll/PayrollEngineVersion.php:7:use Illuminate\Database\Eloquent\Model; app/Models/Payroll/PayrollEngineVersion.php:8:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/Payroll/PayrollEngineVersion.php:9:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Payroll/PayrollEngineVersion.php:11:class PayrollEngineVersion extends Model app/Models/Payroll/PayrollEngineVersion.php:13: use HasFactory; app/Models/Payroll/PayrollEngineVersion.php:20: protected static function newFactory() app/Models/Payroll/PayrollEngineVersion.php:32: public function creator(): BelongsTo app/Models/Payroll/PayrollAdjustment.php:5:use Illuminate\Database\Eloquent\Model; app/Models/Payroll/PayrollAdjustment.php:6:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Payroll/PayrollAdjustment.php:7:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Payroll/PayrollAdjustment.php:8:use Spatie\Activitylog\LogOptions; app/Models/Payroll/PayrollAdjustment.php:9:use App\Exceptions\ImmutableRecordException; app/Models/Payroll/PayrollAdjustment.php:10:use App\Models\User; app/Models/Payroll/PayrollAdjustment.php:12:class PayrollAdjustment extends Model app/Models/Payroll/PayrollAdjustment.php:14: use HasUuids, LogsActivity; app/Models/Payroll/PayrollAdjustment.php:18: public function uniqueIds(): array { return ['uuid']; } app/Models/Payroll/PayrollAdjustment.php:24: public function getActivitylogOptions(): LogOptions app/Models/Payroll/PayrollAdjustment.php:29: protected static function booted() app/Models/Payroll/PayrollAdjustment.php:31: $guard = function ($model) { app/Models/Payroll/PayrollAdjustment.php:41: public function payrollPeriod() { return $this->belongsTo(PayrollPeriod::class); } app/Models/Payroll/PayrollAdjustment.php:42: public function teacher() { return $this->belongsTo(User::class, 'teacher_id'); } app/Models/Payroll/PayrollAdjustment.php:43: public function approver() { return $this->belongsTo(User::class, 'approved_by'); } app/Models/Payroll/PayrollPeriod.php:5:use App\Models\User; app/Models/Payroll/PayrollPeriod.php:6:use Database\Factories\PayrollPeriodFactory; app/Models/Payroll/PayrollPeriod.php:7:use Illuminate\Database\Eloquent\Factories\HasFactory; app/Models/Payroll/PayrollPeriod.php:8:use Illuminate\Database\Eloquent\Concerns\HasUuids; app/Models/Payroll/PayrollPeriod.php:9:use Illuminate\Database\Eloquent\Model; app/Models/Payroll/PayrollPeriod.php:10:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/Payroll/PayrollPeriod.php:11:use Illuminate\Database\Eloquent\Relations\HasMany; app/Models/Payroll/PayrollPeriod.php:12:use Illuminate\Database\Eloquent\SoftDeletes; app/Models/Payroll/PayrollPeriod.php:13:use Spatie\Activitylog\LogOptions; app/Models/Payroll/PayrollPeriod.php:14:use Spatie\Activitylog\Traits\LogsActivity; app/Models/Payroll/PayrollPeriod.php:16:class PayrollPeriod extends Model app/Models/Payroll/PayrollPeriod.php:18: use HasFactory; app/Models/Payroll/PayrollPeriod.php:19: use HasUuids; app/Models/Payroll/PayrollPeriod.php:20: use SoftDeletes; app/Models/Payroll/PayrollPeriod.php:21: use LogsActivity; app/Models/Payroll/PayrollPeriod.php:37: protected static function newFactory() app/Models/Payroll/PayrollPeriod.php:42: public function uniqueIds(): array app/Models/Payroll/PayrollPeriod.php:56: public function getActivitylogOptions(): LogOptions app/Models/Payroll/PayrollPeriod.php:64: public function calculations(): HasMany app/Models/Payroll/PayrollPeriod.php:72: public function transactions(): HasMany app/Models/Payroll/PayrollPeriod.php:80: public function adjustments(): HasMany app/Models/Payroll/PayrollPeriod.php:88: public function creator(): BelongsTo app/Models/Payroll/PayrollPeriod.php:93: public function reviewer(): BelongsTo app/Models/Payroll/PayrollPeriod.php:98: public function approver(): BelongsTo app/Models/Payroll/PayrollPeriod.php:103: public function disburser(): BelongsTo app/Models/Payroll/PayrollPeriod.php:108: public function locker(): BelongsTo app/Models/Payroll/PayrollPeriod.php:113: public function isDraft(): bool app/Models/Payroll/PayrollPeriod.php:118: public function isProcessing(): bool app/Models/Payroll/PayrollPeriod.php:123: public function isPendingApproval(): bool app/Models/Payroll/PayrollPeriod.php:128: public function isApproved(): bool app/Models/Payroll/PayrollPeriod.php:133: public function isLocked(): bool app/Models/Payroll/PayrollPeriod.php:138: public function isPaid(): bool app/Models/Payroll/PayrollPeriod.php:143: public function isCancelled(): bool app/Models/Payroll/PayrollPeriod.php:148: public function isImmutable(): bool app/Models/GoalProgress.php:5:use Illuminate\Database\Eloquent\Model; app/Models/GoalProgress.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/GoalProgress.php:8:class GoalProgress extends Model app/Models/GoalProgress.php:16: protected function casts(): array app/Models/GoalProgress.php:24: public function goal(): BelongsTo app/Models/GoalProgress.php:29: public function loggedBy(): BelongsTo app/Models/PolicyAcceptance.php:5:use Illuminate\Database\Eloquent\Model; app/Models/PolicyAcceptance.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/PolicyAcceptance.php:8:class PolicyAcceptance extends Model app/Models/PolicyAcceptance.php:21: public function user(): BelongsTo app/Models/CredentialDeliveryLog.php:5:use Illuminate\Database\Eloquent\Model; app/Models/CredentialDeliveryLog.php:6:use Illuminate\Database\Eloquent\Relations\BelongsTo; app/Models/CredentialDeliveryLog.php:8:class CredentialDeliveryLog extends Model app/Models/CredentialDeliveryLog.php:21: public function student(): BelongsTo app/Models/CredentialDeliveryLog.php:26: public function deliveredBy(): BelongsTo