龙空技术网

关于thinkphp组装数组查询条件

代码界的小王 64

前言:

如今咱们对“thinkphp5多条件查询”都比较关心,朋友们都需要知道一些“thinkphp5多条件查询”的相关知识。那么小编同时在网摘上网罗了一些有关“thinkphp5多条件查询””的相关内容,希望咱们能喜欢,大家快快来了解一下吧!

初始语句

$goods_id = array(3,4,5);$map[‘status’] = 1;$map[‘quantity’] = ['>',0];$map[‘id’] = ['not in',$goods_id];Db::table('goods_list')->where($map)->select();echo Db::getlastsql();

直接运行以后,是报错的,不能直接在元素中添加数组$goods_id

2.更改后的语句

$goods_id = array(3,4,5);$map[‘status’] = 1;$map[‘quantity’] = ['>',0];$map[‘id’] = ['not in',implode(',',$goods_id)];Db::table('goods_list')->where($map)->select();

运行结果如下:

SELECT * FROM `goods_list` WHERE `status` = 1 AND `id` IN (not in,3,4,5) AND `quantity` IN (>,0)

不是自己想要的查询结果

3.新建组装数组查询条件,保持数组元素数一样

$goods_id = array(3,4,5);$map[] = ['status','=',1];$map[] = ['id','not in',$goods_id];$map[] = ['quantity','>',0];Db::table('goods_list')->where($map)->select();

运行结果如下:

SELECT * FROM `goods_list` WHERE `status` = 1 AND `id` NOT IN (3,4,5) AND `quantity` > 0

大功告成,这才是我想要的

标签: #thinkphp5多条件查询