Files
ilycats/app/Models/CatRegistration.php
T
2026-09-23 12:45:02 +07:00

37 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage;
class CatRegistration extends Model
{
protected $fillable = [
'cat_id', 'association_id', 'registration_number', 'pedigree_number',
'certificate_number', 'issue_date', 'title', 'ownership_status',
'is_primary', 'notes',
];
protected function casts(): array
{
return ['issue_date' => 'date', 'is_primary' => 'boolean'];
}
protected static function booted(): void
{
static::deleting(function (CatRegistration $registration) {
$registration->loadMissing('documents');
foreach ($registration->documents as $document) {
if ($document->file_path) {
Storage::disk('public')->delete($document->file_path);
}
}
});
}
public function cat() { return $this->belongsTo(Cat::class); }
public function association() { return $this->belongsTo(CatAssociation::class, 'association_id'); }
public function documents() { return $this->hasMany(CatRegistrationDocument::class)->latest(); }
}