1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- /**
- * User: Mike
- * Email: m@9026.com
- * Date: 2016/7/26
- * Time: 15:24
- */
- namespace App\Services\Base;
- use App\Models\SysConfigModel;
- use Illuminate\Support\Facades\Cache;
- /**
- * 全局数据字典的调用
- *
- * 提供配置缓存的类型
- *
- * @author wangzhoudong <admin@zhen.pl>
- * @version 1.0
- *
- */
- class System {
- private $cacheKey = 'sys_config';
- public function __construct() {
- }
- public function getCoufig($key=null) {
- $config = Cache::get($this->cacheKey);
- if($config){
- if($key){
- $data = isset($config[$key]) ? $config[$key] : '';
- }else{
- $data = $config;
- }
- }else {
- $obj = new SysConfigModel();
- if ($key) {
- $data = $obj->select("value")->where("key", $key)->first();
- if ($data) {
- $data = $data->value;
- }
- } else {
- $data = $obj->pluck('value', 'key');
- }
- }
- return $data;
- }
- public function saveConfig($data) {
- $obj = new SysConfigModel();
- foreach($data as $key=>$val) {
- $objVal = $obj->find($key);
- if ($objVal){
- $objVal->value = $val;
- $objVal->save();
- }else{
- $obj->create(['key' => $key,'value'=>$val]);
- }
- }
- $config = $obj->lists('value', 'key')->toArray();
- Cache::forever($this->cacheKey, $config);
- return true;
- }
- }
|