开发日志 api开发中json 作为字段 自动写入字段和防止Json变化导致插入错误

开发日志 api开发中json 作为字段 自动写入字段和防止Json变化导致插入错误

api开发中,api提供方往往会修改json的字段,系统后期维护也报错,需要对字段进行校验




//读取数据库表的所有字段
    
    $database = \think\Config::get('database.database');
        $fieldArr = [];
        $list = db()->query("SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ? AND TABLE_SCHEMA = ?", [$table, $database]);
        foreach ($list as $k => $v) {
            if ($importHeadType == 'comment') {
                $fieldArr[$v['COLUMN_COMMENT']] = $v['COLUMN_NAME'];
            } else {
                $fieldArr[$v['COLUMN_NAME']] = $v['COLUMN_NAME'];
            }
        }



                        $table_name = "fa_goodcang_productstock";
                        $field_list = Db::query('SHOW COLUMNS FROM `' . $table_name . '`');
                        $field_arr = [];
                        foreach ($field_list as $field){
                            $field_arr[] = $field['Field'];
                        }
                    //避免Json有的字段,数据库表里面没有, 把没有用到的键值 删除掉
                    foreach ($product_inventory_item as $item_key=>$item_value){
                        //如果json字段不存在表里 就删除他
                        if(!in_array($item_key, $field_arr)){
                            unset($product_inventory_item[$item_key]);
                        }
                    }

                        //第二个方法
                        //information_schema数据库中有一个名为COLUMNS的表
                        //  "select COLUMN_NAME from information_schema.COLUMNS where table_name = 'fa_goodcang_productstock'"
                        //读取json的方法
                        //print_r($field_arr);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值