Files
prn2026/app/Models/Election.php
2026-06-03 08:51:22 +08:00

67 lines
1.5 KiB
PHP

<?php
namespace App\Models;
use Database\Factories\ElectionFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\SoftDeletes;
class Election extends Model
{
/** @use HasFactory<ElectionFactory> */
use HasFactory, SoftDeletes;
protected $guarded = [];
protected function casts(): array
{
return [
'starts_at' => 'date',
'polling_date' => 'date',
];
}
public function settings(): HasOne
{
return $this->hasOne(ElectionSetting::class);
}
public function duns(): HasMany
{
return $this->hasMany(Dun::class);
}
public function bahagianPilihanrayas(): HasMany
{
return $this->hasMany(BahagianPilihanraya::class);
}
public function daerahMengundis(): HasMany
{
return $this->hasMany(DaerahMengundi::class);
}
public function pusatMengundis(): HasMany
{
return $this->hasMany(PusatMengundi::class);
}
public function saluranMengundis(): HasMany
{
return $this->hasMany(SaluranMengundi::class);
}
public function applications(): HasMany
{
return $this->hasMany(Application::class);
}
public function staffAssignments(): HasMany
{
return $this->hasMany(StaffAssignment::class);
}
}