条件查询方法

where方法

可以使用where方法进行AND条件查询:

  1. Db::table('think_user')

  2.    ->where('name','like','%thinkphp')

  3.    ->where('status',1)

  4.    ->find();

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

  1. Db::table('think_user')

  2.    ->where('name&title','like','%thinkphp')

  3.    ->find();

whereOr方法

使用whereOr方法进行OR查询:

  1. Db::table('think_user')

  2.    ->where('name','like','%thinkphp')

  3.    ->whereOr('title','like','%thinkphp')

  4.    ->find();

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

  1. Db::table('think_user')

  2.    ->where('name|title','like','%thinkphp')

  3.    ->find();

混合查询

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

  1. $result = Db::table('think_user')->where(function ($query) {

  2.    $query->where('id', 1)->whereor('id', 2);

  3. })->whereOr(function ($query) {

  4.    $query->where('name', 'like', 'think')->whereOr('name', 'like', 'thinkphp');

  5. })->select();

生成的sql语句类似于下面:

  1. SELECT * FROM `think_user` WHERE  (  `id` = 1 OR `id` = 2 ) OR (  `name` LIKE 'think' OR `name` LIKE 'thinkphp' )

注意闭包查询里面的顺序,而且第一个查询方法用where或者whereOr是没有区别的。

欢迎关注订阅号:phpstory

023 TP5中的whereOr()相关推荐

  1. thinkphp5(tp5)中success跳转页面和弹窗问题解决

    thinkphp5(tp5)中success跳转页面和弹窗问题解决 参考文章: (1)thinkphp5(tp5)中success跳转页面和弹窗问题解决 (2)https://www.cnblogs. ...

  2. tp5中mysql使用REGEXP 正则匹配

    tp5.0中没有regexp,但是可以用exp表达式sql正则表达式语句:select * fron 表名称 where name regexp 'ok$'; $result = model('表名称 ...

  3. tp5中php正则怎么写,详解tp5中phpmailer的使用

    网站一般都具备一个功能,就是邮箱提醒功能:比如收到反馈信息来一条邮箱提醒,网站有了信息留言了来一条邮箱提醒等等.这时候我们就要用到phpmailer这个插件了. 插件可以到git下载 https:// ...

  4. TP5中的分页样式(详细)

    最近和tp5又打上交道了,前段时间使用它写接口,因此没有探究tp5和前端的联系及其便捷之处.最近做的项目前端后台联系较为紧密,因此将几个常用的点分享记录一下! 最常用的应该就是分页了,tp5已经将分页 ...

  5. TP5 中引入第三方类库

    通过了解tp5的目录结构,我们知道其中有两个目录是纺织扩展类库文件的. extend是放置自定义或者其他类文件的. vendor目录是放置composer类库文件的. 当我们的第三方类库文件是下载的, ...

  6. tp5 ajax 路由,tp5中ajax方式提交表单

    用ajax提交表单,迅速,快捷,实现页面无刷新提交表单. ajax批删 姓名 年龄 地址 添加 $("#sub").click(function(){ var name = $(& ...

  7. tp5怎么生成短链接_请问在tp5中怎样才能使用url函数?

    MM们 thinkphp中的自动完成函数调用有两种不同的方法,分别为callback与function;12345678910namespace Home\Model;use Think\Model; ...

  8. php连接excel表格数据类型,TP5 中使用PHPExcel 导出导入数据到excel表格

    将下载好的PHPExcel文件夹放置在框架中的Vendor目录下,注意目录的结构,按照我的代码来基本上直接引用就能使用,如下图: 导出数据代码如下 //导出数据表 开始 public function ...

  9. instanceof php 命名空间,tp5中的命名空间(namespace)

    对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...

最新文章

  1. WMI技术介绍和应用——查询文件夹信息
  2. js时间戳转换成日期格式
  3. 使用命名管道的OVERLAPPED方式实现非阻塞模式编程 .
  4. DM***+EZ***
  5. WAMP安装提示缺少 msvcr100.dll文件解决方法
  6. windows 环境 docker踩坑
  7. QT的QQmlNdefRecord类的使用
  8. 【CentOS8】安装 mysql 5.7
  9. 使用网络存储SAN和NAS
  10. LeetCode 1503. 所有蚂蚁掉下来前的最后一刻(脑筋急转弯)
  11. python编程理论_Python并发编程理论篇,来看看
  12. Linux基本命令二(帮助命令)
  13. linux-mint下搭建android,angularjs,rails,html5开发环境
  14. List集合去重方式及效率对比
  15. DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和
  16. Unity中实现3D拾取功能及其原理
  17. 2013~深圳百公里徒步
  18. 突破百度网盘下载限制(大文件直接下载、使用迅雷下载)
  19. 易基因 | 表观技术:单细胞及微量细胞全基因组重亚硫酸盐甲基化测序(scWGBS)
  20. 猿创征文|我的技术成长之路C++

热门文章

  1. 常见可控硅带驱动 光耦 三极管 电阻三种方式
  2. [乐意黎原创] java.sql.SQLException: Incorrect string value: '\xC3\x8E\xC2\xA2\xC3\x88...'
  3. HTTP服务占用80端口的解决办法,找出占用80的元凶。
  4. 三相异步电动机的制动
  5. Python入门基础 带你从入门到精通
  6. Module was compiled with an incompatible version of Kotlin 问题解决
  7. ASEMI整流桥DB107详细参数,DB107特征,DB107机械数据
  8. 数据库原理及应用——绪论
  9. java毕业设计校园考勤系统mybatis+源码+调试部署+系统+数据库+lw
  10. android 模拟器虚拟CPU的修改