欢迎关注格物致知 。 正在加载今日诗词....

ThinkPHP5框架where实现or查询

PHP gavin 61℃ 0评论

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 )

 

转载请注明:格物致知 » ThinkPHP5框架where实现or查询

喜欢 (4)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址