当前位置: 首页 > news >正文

甘肃省住房和建设厅网站首页最近新闻热点国家大事

甘肃省住房和建设厅网站首页,最近新闻热点国家大事,吉林企业网站模板建站哪个好,日本儿童网站模板目录 一:创建表 二:代码逻辑 上一节我们详细讲解了自定义扩展字段的逻辑实现和表的设计,这一节我们以一个具体例子演示下,如何实现一个订单模块的自定义扩展数据。 一:创建表 订单主表: CREATE TABLE t_order ( …

目录

一:创建表

二:代码逻辑


上一节我们详细讲解了自定义扩展字段的逻辑实现和表的设计,这一节我们以一个具体例子演示下,如何实现一个订单模块的自定义扩展数据。

一:创建表

订单主表:

CREATE TABLE `t_order` (
  `order_id` int NOT NULL AUTO_INCREMENT,
  `order_no` char(20) NOT NULL AUTO_INCREMENT,
  `create_user_id` int NOT NULL DEFAULT '0' COMMENT '创建人',
  `create_time` int NOT NULL DEFAULT '0' COMMENT '添加时间',
  `update_time` int NOT NULL DEFAULT '0' COMMENT '更新时间',
  PRIMARY KEY (`order_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单主表';

#订单扩展表,扩展的自定义字段主要存储在这张表
CREATE TABLE `t_order_extend` (
  `id` int NOT NULL AUTO_INCREMENT,
  `order_id` int NOT NULL DEFAULT '0' COMMENT '订单ID',
  `create_time` int NOT NULL DEFAULT '0' COMMENT '添加时间',
  `update_time` int NOT NULL DEFAULT '0' COMMENT '更新时间'
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单扩展表';

#订单表格数据,订单一对多的数据主要存储在这个表,比如商品

CREATE TABLE `t_order_list_extend` (
  `id` int NOT NULL AUTO_INCREMENT,
  `order_id` int NOT NULL DEFAULT '0' COMMENT '订单ID',
  `create_time` int NOT NULL DEFAULT '0' COMMENT '添加时间',
  `update_time` int NOT NULL DEFAULT '0' COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单表格数据扩展表';

二:代码逻辑

创建自定义字段部分逻辑

        $count = 1;//定义生成字段数量
            
        //生成字段
        for ($i=0; $i<$count; $i++) {
            //生成字段名
            list($fieldSign,$num) = $this->getFieldSign($request['types']);
            $fieldSignList[] =  $fieldSign;
        }
        

              
        //这里定义一个计数表,用于存储字段的数量,字段的命名以item1,item2,...的方式
        $fieldNum = ExtendFieldNumModel::where('extend_type', $types)->value('extend_num', 1);
        $fieldSign = 'item_'.$fieldNum;
        $fieldWhere = [['field_sign','=', $fieldSign],['types','=',$types]];
        if (ExtendField::where($fieldWhere)->value('field_id')) {
            ExtendFieldNumModel::where('extend_type', $types)->inc('extend_num', 1)->update();
            $this->getFieldSign($types);
        } else {
            //字段计数
            if ($fieldNum == 1) {
                ExtendFieldNumModel::create(['extend_type' => $types,'extend_num' => $fieldNum + 1,
                    'create_time' => time(),'update_time' => time()]);
            } else {
                ExtendFieldNumModel::where('extend_type', $types)->update(['extend_num' => $fieldNum + 1,
                    'update_time' => time()]);
            }
        }
        return [$fieldSign,$fieldNum];

     //插入字段到字段表

        $data = [
            'types'                 => $request['types'],
            'field_name'            => $request['field_name'],
            'field_type'            => $request['field_type'],
            'default_value'         => $request['default_value'] ?? '',
            'is_unique'             => $request['is_unique'] ?? 2,
            'is_require'            => $request['is_require'] ?? 2,
            'create_time'           => time(),
            'update_time'           => time()
        ];

       $data['field_sign'] = count($fieldSignList) == 1 ? $fieldSignList[0] : implode(',', $fieldSignList);
        $fieldId = (new ExtendField())->insertGetId($data);

   //扩展表字段部分代码

                case 'text':
                    $sql[] = "ALTER TABLE `" . $table . "` ADD `" . $fieldSign[0] . "` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '" . $fieldName . "'";
                    break;
                case 'textarea':
                    $sql[] = "ALTER TABLE `" . $table . "` ADD `" . $fieldSign[0] . "` TEXT COMMENT '" . $fieldName . "'";
                    break;

                if ($sql) {
                    foreach ($sql as $sValue) {
                        $resData = Db::execute($sValue);
                        if ($resData === false) {
                            return false;
                        }
                    }
                    return true;
                }

这样我们就实现了,自定义订单模块的数据了,


            

http://www.hkea.cn/news/429047/

相关文章:

  • 网站常用素材企业培训视频
  • 北京市通州区建设委员会网站网站新站整站排名
  • 太原网站推广只选中联传媒推广排名seo
  • 企业网站建设的常见流程为百度互联网营销顾问
  • 养殖企业网站网络营销策划名词解释
  • 如何进行电子商务网站推广?百度网盘app
  • 做情趣网站需要什么资质sem推广外包
  • 国外网站做任务赚钱的最近新闻有哪些
  • 建设部网站查资质中裕隆百度推广登录平台网址
  • 黄页网站大全免费山东网络推广优化排名
  • 网站文字代码常见的网络营销工具
  • 计算机毕设网站建设怎么改长沙网站设计拓谋网络
  • 类似红盟的网站怎么做aso优化推广
  • vs2013做网站怎样制作免费网页
  • b2c网站的开发无锡网络优化推广公司
  • 网站做视频在线观看营销活动推广方案
  • wordpress多站点统计google图片搜索引擎入口
  • 麻章手机网站建设百度网盘提取码入口
  • 网站后台管理系统的重要技术指标sem竞价托管费用
  • 包头怎样做网站我想做电商怎么加入
  • 株洲企业网站建设品牌2023免费b站推广大全
  • 仿制单页面网站多少钱免费制作网站app
  • 商城网站制作网站长尾词挖掘工具
  • 夹克定制公司trinseo公司
  • 四川智能网站建设制作网站链接分析工具
  • 制作销售网站有哪些宁波网络营销推广咨询报价
  • 佛山做外贸网站服务新闻发稿平台
  • 做网站前怎么写文档域名收录
  • 中信建设有限责任公司钟宁关键词优化的方法有哪些
  • 建站之星平台优化推广网站排名