Files
ABSDEV/Modules/Sites/Models/SiteSetting.php
T
2026-07-24 11:47:08 +01:00

19 lines
644 B
PHP

<?php
namespace Modules\Sites\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
final class SiteSetting extends Model
{
protected $fillable = ['site_id','group','key','value','type'];
public function site(): BelongsTo { return $this->belongsTo(Site::class); }
public function typedValue(): mixed
{
return match ($this->type) {
'boolean' => filter_var($this->value, FILTER_VALIDATE_BOOLEAN),
'integer' => (int) $this->value,
'json' => json_decode((string) $this->value, true),
default => $this->value,
};
}
}