where('key', $key)->value('value') ?? $default; } public static function setValue(string $key, mixed $value): void { static::query()->updateOrCreate( ['key' => $key], ['value' => $value] ); } public static function brandingDefaults(): array { return [ 'app_name' => 'Database Kesiswaan', 'app_short_name' => 'DK', 'app_logo' => null, 'app_favicon' => null, 'public_portal_logo' => null, 'public_show_student_documents' => '1', ]; } public static function branding(): array { $defaults = static::brandingDefaults(); foreach (array_keys($defaults) as $key) { $defaults[$key] = static::getValue($key, $defaults[$key]); } return $defaults; } }