39 lines
815 B
PHP
39 lines
815 B
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Attributes\Fillable;
|
|
|
|
#[Fillable(['key', 'value'])]
|
|
class Setting extends Model
|
|
{
|
|
/**
|
|
* Get a setting value by key.
|
|
*
|
|
* @param string $key
|
|
* @param mixed $default
|
|
* @return mixed
|
|
*/
|
|
public static function get(string $key, $default = null)
|
|
{
|
|
$setting = self::where('key', $key)->first();
|
|
return $setting ? $setting->value : $default;
|
|
}
|
|
|
|
/**
|
|
* Set a setting value.
|
|
*
|
|
* @param string $key
|
|
* @param mixed $value
|
|
* @return \App\Models\Setting
|
|
*/
|
|
public static function set(string $key, $value)
|
|
{
|
|
return self::updateOrCreate(
|
|
['key' => $key],
|
|
['value' => $value]
|
|
);
|
|
}
|
|
}
|