first(); if (!$setting) { return $default; } return match ($setting->type) { 'integer' => (int) $setting->value, 'boolean' => (bool) $setting->value, 'json' => json_decode($setting->value, true), default => $setting->value, }; } /** * Set a setting */ public static function set(string $key, mixed $value, string $type = 'string'): void { self::updateOrCreate( ['key' => $key], ['value' => is_array($value) ? json_encode($value) : (string) $value, 'type' => $type] ); } }