Files
ABSDEV/Modules/Sites/Models/SiteSetting.php
T
2026-07-24 14:59:44 +01:00

27 lines
669 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,
};
}
}