diff --git a/app/common/model/system/Config.php b/app/common/model/system/Config.php index f42145c..30c4a66 100644 --- a/app/common/model/system/Config.php +++ b/app/common/model/system/Config.php @@ -36,11 +36,18 @@ class Config extends Model */ public static function all(string $name = '', bool $group = false): array { + $where = []; $config = []; - $where = $group ? ['group' => $name] : []; + + if (!empty($name) && $group) { + $where[] = ['group', '=', $name]; + } else { + if (!empty($name)) { + $where[] = ['name', '=', $name]; + } + } $list = self::where($where)->select()->toArray(); - foreach ($list as $option) { if (!is_empty($option['type']) && 'array' == trim($option['type'])) { $config[$option['name']] = json_decode($option['value'], true); diff --git a/app/functions.php b/app/functions.php index 2b5dafb..0cdd7ae 100644 --- a/app/functions.php +++ b/app/functions.php @@ -582,21 +582,21 @@ if (!function_exists('saenv')) { { $redis = 'config_' . $name; $config = Cache::get($redis); - try { - $configList = Cache::get('config_list') ?? []; if (empty($config)) { - $config = $group ? Config::all($name, true) : Config::where('name', $name)->value('value'); + $config = Config::all($name, $group); if (!empty($config)) { + // 是否开启分组查询 + if (empty($group)) { + $config = $config[$name]; + } $configList[$name] = $redis; Cache::set($redis, $config); Cache::set('config_list', $configList); } } - } catch (\Exception $e) {} - return $config; } }