si-klinik/sk-klinik.my.id/app/Models/Setting.php

39 lines
983 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage;
class Setting extends Model
{
protected $fillable = ['key', 'value'];
// Helper untuk mengambil value berdasarkan key
public static function get($key, $default = null)
{
$setting = self::where('key', $key)->first();
$defaults = [
'site_name' => 'Si Klinik',
'site_description' => 'Sistem Informasi Klinik.',
'accent_color' => 'indigo',
'base_color' => 'zinc',
];
if (!$setting) return $defaults[$key] ?? $default;
if (in_array($key, ['site_logo', 'site_favicon']) && $setting->value) {
return Storage::url($setting->value);
}
return $setting->value;
}
// Helper untuk update atau create
public static function set($key, $value)
{
return self::updateOrCreate(['key' => $key], ['value' => $value]);
}
}