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'

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

  • 相关阅读:
    68
    56
    Django manager 命令笔记
    Django 执行 manage 命令方式
    Django 连接 Mysql (8.0.16) 失败
    Python django 安装 mysqlclient 失败
    H.264 SODB RBSP EBSP的区别
    FFmpeg—— Bitstream Filters 作用
    MySQL 远程连接问题 (Windows Server)
    MySQL 笔记
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9699267.html
Copyright © 2011-2022 走看看