fastadmin 列表查询 where自定义条件 与原条件冲突 去除原条件

5 篇文章 0 订阅
5 篇文章 0 订阅

目录

需求    新增已付款 选项  数值为10

问题1  单独使用已付款选择  sql语句 出现两个 state 发生冲突

问题2    两个条件 查询数据  sql语句 两个 state 发生冲突  致使 第二个条件 无效

问题1 解决  ----------  使用whereOr  解决

就当我以为万事大吉~~~~   Happen   End 的时候

我用了两个条件查询      第二个查询条件不起作用了

问题2 解决步骤

 打印sql 语句

发现state  出现两个 当去除 state =10 的时候 sql语句正常 

​打印where条件

 问题2 解决  ---------------- 将where 语句中的  state =10 移除

 打印where条件

打印sql 语句 


需求    新增已付款 选项  数值为10

问题1  单独使用已付款选择  sql语句 出现两个 state 发生冲突

问题2    两个条件 查询数据  sql语句 两个 state 发生冲突  致使 第二个条件 无效

$filter = json_decode($this->request->get("filter", ''), true);
			if (isset($filter['state']) && $filter['state'] =="10") {
				//待发货 待评价 待收货 已完成
				$map['order.state'] = ['in','2,3,4,6'];
			}
            list($where, $sort, $order, $offset, $limit) = $this->buildparams();

			$list = $this->model->where($where)
								->where($map)
								->fetchSql(true)->select();

问题1 解决  ----------  使用whereOr  解决

就当我以为万事大吉~~~~   Happen   End 的时候
我用了两个条件查询      第二个查询条件不起作用了
问题2 解决步骤

 打印sql 语句
$list = $this->model->where($where)->where($map)->fetchSql(true)->select();
			var_dump($list);exit();
$filter = json_decode($this->request->get("filter", ''), true);
if (isset($filter['state']) && $filter['state'] =="10") {
				//待发货 待评价 待收货 已完成
				$map['order.state'] = ['in','2,3,4,6'];
			}
list($where, $sort, $order, $offset, $limit) = $this->buildparams();

$list = $this->model->where($where)->where($map)->fetchSql(true)->select();
var_dump($list);exit();
发现state  出现两个 当去除 state =10 的时候 sql语句正常 
打印where条件

 问题2 解决  ---------------- 将where 语句中的  state =10 移除
$map = [];
$filter = json_decode($this->request->get("filter", ''), true);
$op = json_decode($this->request->get("op", '', 'trim'), true);
			if (isset($filter['state']) && $filter['state'] =="10") {
				//待发货 待评价 待收货 已完成
				unset($filter['state'], $op['state']);
                //一定要有
				$this->request->get(['filter' => json_encode($filter)],['op' => json_encode($op)]);
				$map['order.state'] = ['in','2,3,4,6'];
			}

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

打印sql 语句 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值