zoukankan      html  css  js  c++  java
  • Thinkphp 查询条件 and 和 or同时使用即复合查询

    Thinkphp 查询条件 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语句是一致的。

  • 相关阅读:
    ZeroMQ
    ps-lite源码解析
    RDMA
    MapReduce
    parameter server
    BytePS
    ELF程序头部及程序加载
    网络序与主机序
    CPU、CPU核与线程的关系
    chroot
  • 原文地址:https://www.cnblogs.com/chenchenphp/p/6841242.html
Copyright © 2011-2022 走看看