whereOr方法

Db::table('think_user')
->where('name','like','%thinkphp')
->whereOr('title','like','%thinkphp')
->find();

多字段相同条件的OR查询可以简化为如下方式:

Db::table('think_user')
->where('name|title','like','%thinkphp')
->find();

混合查询

where方法和whereOr方法在复杂的查询条件中经常需要配合一起混合使用,下面举个例子:

$result = Db::table('think_user')->where(function ($query) {
$query->where('id', 1)->whereor('id', 2);
})->whereOr(function ($query) {
$query->where('name', 'like', 'think')->whereOr('name', 'like', 'thinkphp');
})->select();
SELECT * FROM `think_user` WHERE  (  `id` = 1 OR `id` = 2 ) OR (  `name` LIKE 'think' OR `name` LIKE 'thinkphp' )

但是 可以使用原生方法

$whereOr= '`range` = 0 OR `school_id` = '.session::get('user_info.school_id');
$res = $this->where($where)->where($whereOr)->field($field)->order($order,$sort)->select();

TP5框架whereor的更多相关文章

  1. PHP 服务器及TP5框架遇到的几个错误

    一.Call to undefined function imagecreatefrompng(): LAMP环境搭建的博客,在提交内容的时候TP5框架报了一个错误,Call to undefined ...

  2. tp5框架的获取器

    tp5的获取器功能很强大,一下子就喜欢上了,你可以在模块里任意定义表里不存在的字段,在前台调用很方便.话不多说直接上demo: 1.命名规则   get + 属性名的驼峰命名+ Attr 直接就能在m ...

  3. TP5框架,开源小程序商城源码,前端+后台完整版

    CRMEB微信公众号商城小程序商城数据同步,带积分.优惠券.秒杀.砍价.分销等功能,更是一套方便二次开发的框架 开源地址:https://github.crmeb.net/u/crmeb 商城演示后台 ...

  4. LNMP包环境下使用TP5框架通过ODBC连接MSSQL方案

    本文主要介绍了如何在linux下使用php语言的thinkphp5框架通过pdo_odbc的方式连接MSSQL的方案步骤: 1.下载微软官方发布的ODBC驱动包 Red Hat 5/6:https:/ ...

  5. tp5框架知识点

    项目包含的关键点,后台,前台. 入口文件. 通用配置文件. 数据库配置文件. 共有文件,css,images,js. 控制器,模型,视图. 共有类. 共有函数. 属性,方法. 命名规范. 命名空间. ...

  6. tp5框架用foreach循环时候报Indirect modification of overloaded element of think\paginator\driver\Bootst错误

    thinkphp5使用paginator分页查询数据后,需要foreach便利处理某一字段的数据,会出现类似题目的错误.主要是因为tp5使用分页类读取的数据不是纯数组的格式!所以在循环的时候需要用数据 ...

  7. TP5框架 nginx服务器 配置域名 隐藏index.php

    server { listen ; #server_name localhost; server_name hhy.com;/**这里写自己的域名*/ #charset koi8-r; #access ...

  8. tp5框架中jquery+ajax分页

    jaxa分页,点击按钮直接替换数据, //php代码$page=Request::instance()->param("page"); $page = empty($page ...

  9. tp5框架成功、失败提示模板修改

    <!DOCTYPE html> <html> <head> <title> 页面自动中...跳转 等待时间:<?php echo($wait); ...

随机推荐

  1. mysql回滚日志

    一.回滚日志(undo log) 1.作用 保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即非锁定读 2.内容 逻辑格式的日志,在执行undo的时候 ...

  2. 彻底明白Flink系统学习5:window、Linux本地安装Flink

    http://www.aboutyun.com/thread-26393-1-1.html 问题导读 1.如何在window下安装Flink? 2.Flink本地安装启动命令与原先版本有什么区别? 3 ...

  3. Linux基础命令---cmp

    cmp 用字节的方式,比较两个文件是否存在差异,但是不保存运算结果.Cmp指令只会根据结果设置相关的标志位,这个指令之后往往会跟着一个条件跳转指令. 此命令的适用范围:RedHat.RHEL.Ubun ...

  4. cisco路由器 三层交换机简单环境配置实例(图)

    出处:http://www.jb51.NET/softjc/56600.html cisco路由器&三层交换机简单环境配置实例 一.网络拓扑图: 二.配置命令: 1.路由器的配置: inter ...

  5. 解决Linux下jdk版本与安装版本不一致

    解决Linux下jdk版本与安装版本不一致 在Linux下安装jdk后,利用java -version查看版本使,发现不是自己所安装的jdk版本; 解决方案: which java ——查看默认的jd ...

  6. 20145225 《网络对抗》逆向及Bof基础实践

    实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShe ...

  7. Python3基础 str casefold 返回全是小写字母的新字符串

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. Spyder clear variable explorer from memory

    https://stackoverflow.com/questions/45853595/spyder-clear-variable-explorer-along-with-variables-fro ...

  9. 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试

    相关随笔: Hadoop-1.0.4集群搭建笔记 用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控 用python + hadoop streami ...

  10. javaweb项目运行时生成的Servers项目作用

    在javaweb项目中,看到有一个Servers的项目,发现每新增一个项目,就会在Servers项目中新生成一些对应的项目文件. 如图所示: 每个项目都有对应的文件.文件的结构图如下: 解释一:Ser ...