#### 1. 數(shù)據(jù)表結(jié)構(gòu) --- ```sql CREATE TABLE `config` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵', `uniacid` int(11) DEFAULT NULL COMMENT '平臺(tái)ID', `type` varchar(60) DEFAULT NULL COMMENT '配置分組', `key` varchar(255) NOT NULL COMMENT '配置鍵', `value` text COMMENT '配置值', `delete_time` int(11) DEFAULT NULL COMMENT '軟刪除', `create_time` int(11) NOT NULL COMMENT '創(chuàng)建時(shí)間', `update_time` int(11) DEFAULT NULL COMMENT '更新時(shí)間', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `uniacid` (`uniacid`,`key`) USING BTREE COMMENT '每個(gè)平臺(tái)下的key唯一' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系統(tǒng)配置表'; ``` #### 2. 定義系統(tǒng)配置表模型 --- ``` <?php declare(strict_types=1); namespace app\index\model; use think\Model; /** * 系統(tǒng)配置表模型 * * @mixin \think\Model */ class Config extends Model { // 設(shè)置json類(lèi)型字段 protected $json = ['value']; // 設(shè)置JSON數(shù)據(jù)返回?cái)?shù)組 protected $jsonAssoc = true; // +------------------------------------------------ // | 模型事件 // +------------------------------------------------ /** * 新增前 */ public static function onBeforeInsert($model) { // 當(dāng)value是字符串時(shí),框架沒(méi)有對(duì)數(shù)據(jù)進(jìn)行json編碼處理,此時(shí)需要自己手動(dòng)處理 if (is_string($model->value)) { $model->value = json_encode($model->value, JSON_UNESCAPED_UNICODE); } } } ``` #### 3. 測(cè)試數(shù)據(jù) --- ```php $data = [ [ 'key' => 'name', 'value' => '辰風(fēng)沐陽(yáng)', ], [ 'key' => 'age', 'value' => 20, ], [ 'key' => 'info', 'value' => [ 'city' => 'henan', 'nickname' => 'liang', ], ], ]; (new ConfigModel)->saveAll($data); halt(ConfigModel::select()->toArray()); ```