Thinkphp 查询条件 and 和 or同时使用的写法
2017-12-04 09:34:04;  来源:;  作者:;  评论:0 点击:

使用thinkphp5进行项目开发的时候会遇到查询条件and 和or都同时使用的情况,很多人可能不知道它们复合查询的写法使用方法,这里作详细介绍

开发过程中经常会遇到查询条件and 和or都同时使用的情况,Thinkphp中本来就支持这个查询的,不一定非得自己写sql语句,使用复合查询即可:

三、复合查询
复合查询相当于封装了一个新的查询条件,然后并入原来的查询条件之中,所以可以完成比较复杂的查询条件组装。
例如:

  1. $where[‘name’]  array(‘like’, ‘%thinkphp%’);
  2. $where[‘title’]  array(‘like’,’%thinkphp%’);
  3. $where[‘_logic’] ‘or’;
  4. $map[‘_complex’] $where;
  5. $map[‘id’]  array(‘gt’,1);

查询条件是
(id>1)AND( (namelike’%thinkphp%’)OR(titlelike’%thinkphp%’) )
复合查询使用了_complex作为子查询条件来定义,配合之前的查询方式,可以非常灵活的制定更加复杂的查询条件。
很多查询方式可以相互转换,例如上面的查询条件可以改成:

  1. $where[‘id’] array(‘gt’,1);
  2. $where[‘_string’] ‘ (name like “%thinkphp%”)  OR title like “%thinkphp”) ‘;

最后生成的SQL语句是一致的。

本文属转载文章,并不能保证完全正确,只供学习交流参考,版权归原作者所有。如果您认为有侵犯权利等不和法行为,请联系我们及时改正。

相关热词搜索:and or thinkphp

上一篇:curl进行网页抓取curl_setopt的设置参数CURLOPT_FOLLOWLOCATION出错
下一篇:最后一页

收藏
回到顶部