where('key', $key)->first(); return $setting ? $setting['value'] : $default; } /** * Set setting value by key */ public function setSetting(string $key, ?string $value, ?string $description = null): bool { $setting = $this->where('key', $key)->first(); if ($setting) { return $this->update($setting['id'], [ 'value' => $value, 'description' => $description ?? $setting['description'], ]); } else { return $this->insert([ 'key' => $key, 'value' => $value, 'description' => $description, ]); } } /** * Get all settings as key-value array */ public function getAllSettings(): array { $settings = $this->findAll(); $result = []; foreach ($settings as $setting) { $result[$setting['key']] = $setting['value']; } return $result; } }