前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TP6.0 模型JSON字段的使用 【系统配置表 key-value】

TP6.0 模型JSON字段的使用 【系统配置表 key-value】

作者头像
很酷的站长
发布2023-01-10 09:56:13
6820
发布2023-01-10 09:56:13
举报
TP6.0 模型JSON字段的使用 【系统配置表 key-value】
TP6.0 模型JSON字段的使用 【系统配置表 key-value】
1. 数据表结构
代码语言:javascript
复制
CREATE TABLE `config` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`uniacid` int(11) DEFAULT NULL COMMENT '平台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 '创建时间',
`update_time` int(11) DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uniacid` (`uniacid`,`key`) USING BTREE COMMENT '每个平台下的key唯一'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统配置表';
2. 定义系统配置表模型
代码语言:javascript
复制
<?php
declare(strict_types=1);
namespace app\index\model;
use think\Model;
/**
 * 系统配置表模型
 * 
 * @mixin \think\Model
 */
class Config extends Model
{
    // 设置json类型字段
    protected $json = ['value'];
    // 设置JSON数据返回数组
    protected $jsonAssoc = true;
    // +------------------------------------------------
    // | 模型事件
    // +------------------------------------------------
    /**
     * 新增前
     */
    public static function onBeforeInsert($model)
    {
        // 当value是字符串时,框架没有对数据进行json编码处理,此时需要自己手动处理
        if (is_string($model->value)) {
            $model->value = json_encode($model->value, JSON_UNESCAPED_UNICODE);
        }
    }
}
3. 测试数据
代码语言:javascript
复制
$data = [
[
'key' => 'name',
'value' => '辰风沐阳',
],
[
'key' => 'age',
'value' => 20,
],
[
'key' => 'info',
'value' => [
'city' => 'henan',
'nickname' => 'liang',
],
],
];
(new ConfigModel)->saveAll($data);
halt(ConfigModel::select()->toArray());
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 数据表结构
  • 2. 定义系统配置表模型
  • 3. 测试数据
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档