ThinkPHP5框架where实现or查询的两种方法

 免费API接口:http://www.wangshuwen.com/portal/article/detail/id/12.html 

 

1.采用闭包方式 

tp5中采用闭包的方式:
$map['user_id']=1;
$map['status']=0;
$or_map['user_id']=$map['user_id'];
$or_map['audit']=['in',['1,2']];
$list = Db::name('table')->where(function ($query) use ($map) {
                    $query->where($map);
                })->whereOr(function ($query) use ($or_map) {
                    $query->where($or_map);
                })->select();
//生成的sql语句:
//SELECT * FROM `tp_table` WHERE  (  `user_id` = '1'  AND `status` = 0 ) OR (  `user_id` = '1'  AND `audit` IN ('1,2') )

 

 

2.普通方式


 $where = [
     'feed_uid'     => [ 'eq' , 5] ,
     'status' => [ [ 'eq' , 1] , [ 'eq' , 2 ] ,  [ 'eq' , 3 ] , 'or' ] ,
   ];
 $value = DealSpace::where($where)->count();
//最终的查询条件为where feed_uid=5 and (status=1 or status =2 or status =3 )


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值