*/ use HasFactory, Notifiable; /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } public function isGuardian(): bool { return $this->role === 'guardian'; } public function students(): BelongsToMany { return $this->belongsToMany(User::class, 'guardian_student', 'guardian_id', 'student_id'); } public function guardians(): BelongsToMany { return $this->belongsToMany(User::class, 'guardian_student', 'student_id', 'guardian_id'); } public function lessonProgress(): HasMany { return $this->hasMany(LessonProgress::class); } public function conceptMastery(): HasMany { return $this->hasMany(ConceptMastery::class); } public function aiReports(): HasMany { return $this->hasMany(AiReport::class); } }