Files
KarbonDatacenter/app/Models/ChecklistTemplate.php
2026-06-24 20:32:14 +08:00

48 lines
1007 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
class ChecklistTemplate extends Model
{
use HasFactory, SoftDeletes;
protected $fillable = [
'name',
'version',
'description',
'is_active',
];
protected function casts(): array
{
return [
'is_active' => 'boolean',
];
}
public function sections(): HasMany
{
return $this->hasMany(ChecklistSection::class)->orderBy('order');
}
public function formulas(): HasMany
{
return $this->hasMany(ChecklistFormula::class)->orderBy('order');
}
public function scopeActive($query)
{
return $query->where('is_active', true);
}
public static function activeTemplate(): ?self
{
return static::active()->latest('id')->first();
}
}