sls/app/Models/Setting.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]
);
}
}