auditionadmin/app/Models/Student.php

43 lines
1006 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasManyThrough;
class Student extends Model
{
use HasFactory;
protected $guarded = [];
public function school(): BelongsTo
{
return $this->belongsTo(School::class);
}
public function users(): HasManyThrough
{
return $this->hasManyThrough(User::class, School::class);
}
public function entries(): HasMany
{
return $this->hasMany(Entry::class);
}
public function full_name(Bool $last_name_first = false): String
{
if ($last_name_first) return $this->last_name . ', ' . $this->first_name;
return $this->first_name . ' ' . $this->last_name;
}
public function isDoubler()
{
return $this->entries->count() > 1;
}
}