fastadmin 后台模糊查询,换键值

去掉键值,更换。

将这段代码放在下图位置(后台控制器)

/**** */
//将对象转化成数组形式 json_decode
$param1 = json_decode($this->request->param('filter'),1);
$where = [];
// 数据查表 整合数组
if (isset($param1['province_name'])){
    $data1 = Db::name('district')->where('level',1)->where(['district'=>['like','%'.$param1['province_name'].'%']])->find();
     //将没用的健值销毁 unset
     unset($param1['province_name']);
     if (!empty($data1)){
         // 重新赋值 新的键值 收据库中有字段 province_id
         $where['province_id']= $data1['id'];
      }
}
//***** */

完整代码:

 /**
     * 查看
     */
    public function index__bak()
    {
        //设置过滤方法
        $this->request->filter(['strip_tags']);
        if ($this->request->isAjax()) {
            //如果发送的来源是Selectpage,则转发到Selectpage
            if ($this->request->request('keyField')) {
                return $this->selectpage();
            }
            $param1 = json_decode($this->request->param('filter'),1);

            $where = [];

            if (isset($param1['province_name'])){
                $data1 = Db::name('district')->where('level',1)->where(['district'=>['like','%'.$param1['province_name'].'%']])->select();
                $data_ids = [];
                foreach ($data1 as $v){
                    $data_ids[]=$v['id'];
                }
                unset($param1['province_name']);
                if (!empty($data_ids)){
                    $where['province_id']= ['in', $data_ids];
                }

            }
            if (isset($param1['city_name'])){
                $data2 = Db::name('district')->where('level',2)->where(['district'=>['like','%'.$param1['city_name'].'%']])->select();
                $data_ids2 = [];
                foreach ($data2 as $v){
                    $data_ids2[]=$v['id'];
                }
                unset($param1['city_name']);
                if (!empty($data_ids2)){
                    $where['city_id']= ['in', $data_ids2];
                }
            }
            if (isset($param1['area_name'])){
                $data3 = Db::name('district')->where('level',3)->where(['district'=>['like','%'.$param1['area_name'].'%']])->select();
                $data_ids3 = [];
                foreach ($data3 as $v){
                    $data_ids3[]=$v['id'];
                }
                unset($param1['area_name']);
                if (!empty($data_ids3)){
                    $where['area_id']= ['in', $data_ids3];
                }
//                print_r($where);exit;
            }
            if (isset($param1['user_name'])){
                $data4 = Db::name('user')->where('username',$param1['user_name'])->value('id');
                unset($param1['user_name']);
                if (!empty($data4)){
                    $where['user_id']= $data4;
                }
            }
            if (isset($param1['mobile'])){
                $data4 = Db::name('user')->where('mobile',$param1['mobile'])->value('id');
                unset($param1['mobile']);
                if (!empty($data4)){
                    $where['user_id']= $data4;
                }
            }
            foreach ($param1 as $k=>$v){
                $where[$k] = $v;
            }
//            print_r($where);
//            exit;
            list($where1, $sort, $order, $offset, $limit) = $this->buildparams();


//            $total = Db::name('bind')->where($where)->order($sort,$order)->limit($offset, $limit)->count();
//            $list = Db::name('bind')->where($where)->order($sort,$order)->limit($offset, $limit)->select();

//            print_r($list);
//            exit();
            $total = $this->model
                ->where($where)
                ->order($sort, $order)
                ->count();

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

            $list = collection($list)->toArray();
            $result = array("total" => $total, "rows" => $list);

            return json($result);
        }
        return $this->view->fetch();
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值