add back to top

This commit is contained in:
xiaomlove
2022-04-04 17:26:26 +08:00
parent 9af8e5e442
commit 325c234442
38 changed files with 686 additions and 498 deletions

View File

@@ -3,34 +3,41 @@
namespace App\Models;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Cache;
use Nexus\Database\NexusDB;
class Setting extends NexusModel
{
protected $fillable = ['name', 'value'];
public static function get($name = null)
public static function get($name = null, $default = null)
{
$settings = NexusDB::remember("nexus_settings_in_laravel", 10, function () {
$rows = self::query()->get(['name', 'value']);
$result = [];
foreach ($rows as $row) {
$value = $row->value;
if (!is_null($value)) {
$arr = json_decode($value, true);
if (is_array($arr)) {
$value = $arr;
}
}
Arr::set($result, $row->name, $value);
}
return $result;
return self::getFromDb();
});
if (is_null($name)) {
return $settings;
}
return Arr::get($settings, $name);
return Arr::get($settings, $name, $default);
}
public static function getFromDb($name = null, $default = null)
{
$rows = self::query()->get(['name', 'value']);
$result = [];
foreach ($rows as $row) {
$value = $row->value;
if (!is_null($value)) {
$arr = json_decode($value, true);
if (is_array($arr)) {
$value = $arr;
}
}
Arr::set($result, $row->name, $value);
}
if (is_null($name)) {
return $result;
}
return Arr::get($result, $name, $default);
}
}