023 TP5中的whereOr()
条件查询方法
where
方法
可以使用where
方法进行AND
条件查询:
Db::table('think_user')
->where('name','like','%thinkphp')
->where('status',1)
->find();
多字段相同条件的AND
查询可以简化为如下方式:
Db::table('think_user')
->where('name&title','like','%thinkphp')
->find();
whereOr
方法
使用whereOr
方法进行OR
查询:
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();
生成的sql语句类似于下面:
SELECT * FROM `think_user` WHERE ( `id` = 1 OR `id` = 2 ) OR ( `name` LIKE 'think' OR `name` LIKE 'thinkphp' )
注意闭包查询里面的顺序,而且第一个查询方法用where或者whereOr是没有区别的。
欢迎关注订阅号:phpstory
023 TP5中的whereOr()相关推荐
- thinkphp5(tp5)中success跳转页面和弹窗问题解决
thinkphp5(tp5)中success跳转页面和弹窗问题解决 参考文章: (1)thinkphp5(tp5)中success跳转页面和弹窗问题解决 (2)https://www.cnblogs. ...
- tp5中mysql使用REGEXP 正则匹配
tp5.0中没有regexp,但是可以用exp表达式sql正则表达式语句:select * fron 表名称 where name regexp 'ok$'; $result = model('表名称 ...
- tp5中php正则怎么写,详解tp5中phpmailer的使用
网站一般都具备一个功能,就是邮箱提醒功能:比如收到反馈信息来一条邮箱提醒,网站有了信息留言了来一条邮箱提醒等等.这时候我们就要用到phpmailer这个插件了. 插件可以到git下载 https:// ...
- TP5中的分页样式(详细)
最近和tp5又打上交道了,前段时间使用它写接口,因此没有探究tp5和前端的联系及其便捷之处.最近做的项目前端后台联系较为紧密,因此将几个常用的点分享记录一下! 最常用的应该就是分页了,tp5已经将分页 ...
- TP5 中引入第三方类库
通过了解tp5的目录结构,我们知道其中有两个目录是纺织扩展类库文件的. extend是放置自定义或者其他类文件的. vendor目录是放置composer类库文件的. 当我们的第三方类库文件是下载的, ...
- tp5 ajax 路由,tp5中ajax方式提交表单
用ajax提交表单,迅速,快捷,实现页面无刷新提交表单. ajax批删 姓名 年龄 地址 添加 $("#sub").click(function(){ var name = $(& ...
- tp5怎么生成短链接_请问在tp5中怎样才能使用url函数?
MM们 thinkphp中的自动完成函数调用有两种不同的方法,分别为callback与function;12345678910namespace Home\Model;use Think\Model; ...
- php连接excel表格数据类型,TP5 中使用PHPExcel 导出导入数据到excel表格
将下载好的PHPExcel文件夹放置在框架中的Vendor目录下,注意目录的结构,按照我的代码来基本上直接引用就能使用,如下图: 导出数据代码如下 //导出数据表 开始 public function ...
- instanceof php 命名空间,tp5中的命名空间(namespace)
对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结. 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只 ...
最新文章
- WMI技术介绍和应用——查询文件夹信息
- js时间戳转换成日期格式
- 使用命名管道的OVERLAPPED方式实现非阻塞模式编程 .
- DM***+EZ***
- WAMP安装提示缺少 msvcr100.dll文件解决方法
- windows 环境 docker踩坑
- QT的QQmlNdefRecord类的使用
- 【CentOS8】安装 mysql 5.7
- 使用网络存储SAN和NAS
- LeetCode 1503. 所有蚂蚁掉下来前的最后一刻(脑筋急转弯)
- python编程理论_Python并发编程理论篇,来看看
- Linux基本命令二(帮助命令)
- linux-mint下搭建android,angularjs,rails,html5开发环境
- List集合去重方式及效率对比
- DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和
- Unity中实现3D拾取功能及其原理
- 2013~深圳百公里徒步
- 突破百度网盘下载限制(大文件直接下载、使用迅雷下载)
- 易基因 | 表观技术:单细胞及微量细胞全基因组重亚硫酸盐甲基化测序(scWGBS)
- 猿创征文|我的技术成长之路C++
热门文章
- 常见可控硅带驱动 光耦 三极管 电阻三种方式
- [乐意黎原创] java.sql.SQLException: Incorrect string value: '\xC3\x8E\xC2\xA2\xC3\x88...'
- HTTP服务占用80端口的解决办法,找出占用80的元凶。
- 三相异步电动机的制动
- Python入门基础 带你从入门到精通
- Module was compiled with an incompatible version of Kotlin 问题解决
- ASEMI整流桥DB107详细参数,DB107特征,DB107机械数据
- 数据库原理及应用——绪论
- java毕业设计校园考勤系统mybatis+源码+调试部署+系统+数据库+lw
- android 模拟器虚拟CPU的修改