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

      thinkphp 3.2快捷查询OR查询&分割表示AND查询讲解

            快捷查询方式是一种多字段查询的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询,例如:
            一、不同字段相同的查询条件

                $User = M("User"); // 实例化User对象
                $map['name|title'] = 'thinkphp';
                // 把查询条件传入查询方法
                $User->where($map)->select();

            上面的查询其实可以等效于

                $User = M("User"); // 实例化User对象
                $map['name'] = 'thinkphp';
                $map['title'] = 'thinkphp';
                $map['_logic'] = 'OR';
                // 把查询条件传入查询方法
                $User->where($map)->select();

            查询条件就变成 name= 'thinkphp' OR title = 'thinkphp'
            二、不同字段不同的查询条件

                $User = M("User"); // 实例化User对象
                $map['status&title'] =array('1','thinkphp','_multi'=>true);
                // 把查询条件传入查询方法
                $User->where($map)->select();

            上面的查询等效于:

                $User = M("User"); // 实例化User对象
                $map['status'] = 1;
                $map['title'] = 'thinkphp';
                // 把查询条件传入查询方法
                $User->where($map)->select();

            '_multi'=>true必须加在数组的最后,表示当前是多条件匹配,这样查询条件就变成 status= 1 AND title = 'thinkphp'

            ,查询字段支持更多的,例如:

                $map['status&score&title'] =array('1',array('gt','0'),'thinkphp','_multi'=>true);

            等效于:

                $map['status'] = 1;
                $map['score'] = array('gt',0);
                $map['title'] = 'thinkphp';

            查询条件就变成 status= 1 AND score >0 AND title = 'thinkphp'

                注意:快捷查询方式中“|”和“&”不能同时使用。

  • 相关阅读:
    Daily Recording 2020/01/09(关键词:1月01版,RouterScan)
    SQL语句技巧(转)
    实施的WinForms键盘快捷键方法
    日常问题汇总(1) 分组筛选
    设计模式 创建型设计模式
    TSQL查询逻辑查询处理
    无法嵌入互操作类型错误处理
    设计模式 创建模式
    设计模式 结构模式
    设计模式 行为模式
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453926.html
Copyright © 2011-2022 走看看