分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

Thinkphp 查询条件 and 和 or同时使用即复合查询

发布时间:2023-09-06 02:15责任编辑:林大明关键词:暂无标签

  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‘

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

Thinkphp 查询条件 and 和 or同时使用即复合查询

原文地址:https://www.cnblogs.com/lxwphp/p/9699267.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved