where('group', $group) ->where('key', $key) ->first(); if (! $setting) { return $default; } return match ($setting->type) { 'integer' => (int) $setting->value, 'boolean' => filter_var($setting->value, FILTER_VALIDATE_BOOLEAN), 'json' => json_decode($setting->value, true), default => $setting->value, }; } /** * Setze einen Setting-Wert. */ public static function setValue(string $group, string $key, mixed $value): void { $setting = self::query() ->where('group', $group) ->where('key', $key) ->first(); if ($setting) { $setting->update([ 'value' => is_array($value) ? json_encode($value) : (string) $value, ]); } } }