fastadmin ,表格筛选,多表关联字段相同冲突

该代码段展示了一个PHP方法,用于在接收到GET请求时修改JSON过滤器和操作参数中的字段名。方法首先解码GET[filter]和GET[op],然后替换旧字段名并重新编码。在后续处理中,字段名match_id被替换为zp_match_spot_repair.match_id。
摘要由CSDN通过智能技术生成

1、封装转换方法

    /*
    * 修改筛选请求字段名称
    * @param String $old 请求的字段名称
    * @param String $new 需要修改的字段名称
    */
    public function changeName($old, $new)
    {
        $f = json_decode($_GET['filter'], true);
        // @符屏蔽错误,偷懒没写验证
        @$s = $f[$old];

        $res = [];
        if ($s != '') {
            unset($f[$old]);
            $f[$new] = $s;
            $_GET['filter'] = json_encode($f);
        }

        $res["filter"] = json_encode($f);

        $f = json_decode($_GET['op'], true);
        @$s = $f[$old];

        if ($s != '') {
            unset($f[$old]);
            $f[$new] = $s;
            $_GET['op'] = json_encode($f);
        }

        $res["op"] = json_encode($f);
        $this->request->get($res);
    }


2、代码调用

 //如果发送的来源是Selectpage,则转发到Selectpage
            if ($this->request->request('keyField')) {
                return $this->selectpage();
            }

            // 此处将筛选请求中有争议的字段"name"指定为tableA中的name
            $this->changeName("match_id", "zp_match_spot_repair.match_id");


            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值