$value */ #[Fillable(['key', 'value'])] class SiteSetting extends Model { protected static function booted(): void { static::saved(fn () => SiteInfo::forget()); } /** * @return array */ protected function casts(): array { return [ 'value' => 'array', ]; } /** * @param array $default * @return array */ public static function get(string $key, array $default = []): array { return static::query()->where('key', $key)->first()?->value ?? $default; } /** * @param array $value */ public static function put(string $key, array $value): void { static::query()->updateOrCreate(['key' => $key], ['value' => $value]); } }