43 lines
1006 B
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;
|
|
}
|
|
|
|
}
|