ConfigService升级版

<?php
/**
* User: Eden
* Date: 2019/3/30
* 共有内容
*/

/**
 CREATE TABLE `tf_configs` (
    `id` int(11) NOT NULL COMMENT 'id',
    `key` varchar(100) NOT NULL COMMENT 'key',
    `value` text NOT NULL COMMENT 'value',
    `create_time` int(11) NOT NULL COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='配置表';

 */
namespace Common\Service;
class ConfigService extends CommonService {
    /**
     * 添加一个key
     * $key = 'total_donate'
     * @param $key
     * @param $val
     * @return array
     */
    public function addOneKey($key,$val) {
        // 查询key是否存在
        $configs = M('configs');
        $r = $configs->where(array('key'=>$key))->find();
        if ($r !== false) { // 添加
            $data = [
                'key'        => $key,
                'value'      => $val,
                'create_time'=> time()
            ];
            return $configs->add($data);
        } else { 
            return $configs->where(['key'=>$key])->save(['value'=>$val]);
        }
    }

    /**
     * 更新单个key
     * $key = 'total_donate'
     * @param $key
     * @param $val
     * @return array
     */
    public function updateOneKey($key,$val) {
        $configs = M('configs');
        return $configs->where(['key'=>$key])->save(['value'=>$val]);
    }

    /**
     * 查询单个key
     * $key = 'total_donate';
     * @param $key
     * @return array
     */
    public function queryOneKey($key) {
        $configs = M('configs');
        $data = $configs->where(['key'=>$key])->find();
        if ($data) {
            return $data['value'];
        } else {
            return false;
        }
    }

    /**
     * 查询多个key
     * $keys = 'total_donate,total_help,total_join';
     * $keys = ['total_donate','total_help','total_join'];
     * @param array $keys
     * @return mixed
     */
    public function queryKeys($keys = [])
    {
        $where = [];
        if ($keys) {
            $where['key'] = ['in', $keys];
        }
        $configs = M('configs');
        $data = $configs->where($where)->getField('`key`, `value`');
        return $data;
    }

    /**
     * 查询key
     * $key = ['key'=>['in', 'total_donate,total_help,total_join']];
     * $key = ['key'=>['in', ['total_donate','total_help','total_join']]];
     * @param $key
     * @return array
     */
    public function queryKey($key) {
        $configs = M('configs');
        $website = $configs->where($key)->getField('`key`, `value`');
        return $website;
    }

}

更全面了!很实用的配置服务。

猜你喜欢

转载自www.cnblogs.com/jiqing9006/p/12679357.html