HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/my.esfyn.top/Modules/System/Models/Config.php
<?php


namespace Modules\System\Models;


use App\Models\MyModel;

/**
 * Class Config
 * @package Modules\System\Models
 */
class Config extends MyModel
{
    protected $table = "my_system_config";

    protected $group = 'system';

    /**
     * 设置分组
     * @param $name
     * @return $this
     */
    public function group($name): Config
    {
        $this->group = $name;
        return $this;
    }

    /**
     * 获取配置
     * @param array $key
     * @return array
     */
    public function getConfig($key = []): array
    {
        $whereRaw = $key ? 'cfg_key in (' . join_data($key,',') . ')' : '1=1';
        $collect = $this->where('cfg_group', $this->group)->whereRaw($whereRaw)->get();

        $result = [];
        $collect->map(function ($item, $key) use (&$result) {
            $result[$item->cfg_key] = json_decode($item->cfg_val, true) === null
                ? $item->cfg_val
                : json_decode($item->cfg_val, true);
        });

        return $result;
    }
}