Yii2增删改查之查询 where参数详细介绍


Posted in PHP onAugust 08, 2016

概述

由于官方手册关于where的介绍比较少,所以想自己整理一下,以便大家的学习和自己回头查询。本篇文章会详细介绍and、or、between、in、like在where方法中的使用方法和举例。

and

// 我们要查询id大于1并且小于3的数据
$userInfo = User::find()->where(['and' , 'id > 1' , 'id < 3'])->all();
// 或者用以下方式,更为安全
$userInfo = User::find()->where(['and' , ['>' , 'id' , 1] , ['<' , 'id' , 3]])->all();
// 往往我们会处理比这更复杂的sql
// 假如我们要查询name是王五 并且 id大于1或者id小于3的数据
$userInfo = User::find()->where(
['and' , 
['=' , 'name' , '王五'] , 
['or' , 
['=' , 'id' , 1] , 
['=' , 'id' , 3]
]
])->asArray()->all();
// 注:asArray()方法会将数据以数组的方式显示

or

// 我们要查询id等于1或者id等于3的数据
$userInfo = User::find()->where(['or' , 'id = 1' , 'id = 3'])->all();
// 我们同样可以使用以下方式
$userInfo = User::find()->where(['or' , ['=' , 'id' , 1] , ['=' , 'id' , 3]])->all();
// 假如我们要查询id在4,8,9范围内 或者 id在1,2,3范围内呢?
$userInfo = User::find()->where(['or' , ['id' => [4,8,9]] , ['id' => [1,2,3]]])->all();

between

// 我们要查询id在1到10的范围之内
$userInfo = User::find()->where(['between' , 'id' , 1 , 10])->all();

in

// 我们要查询id在1、2、3的范围内
$userInfo = User::find()->where(['in' , 'id' , [1,2,3]])->all();

like

// 我们要查询name中包含“张”这个字符的数据
$userInfo = User::find()->where(['like' , 'name' , '张'])->all();
// 我们假如要通配name中包含“张”这个字符,而且还得包含“三”这个字符
$userInfo = User::find()->where(['like' , 'name' , ['张' , '三']])->all();
// 我们假如只需要通配左边即可
$userInfo = User::find()->where(['like' , 'name' , '%三' , false])->all();
// 所以,右边也是同样

以上所述是小编给大家介绍的Yii2增删改查之查询 where参数详细介绍的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP中上传大体积文件时需要的设置
Oct 09 PHP
PHP 程序授权验证开发思路
Jul 09 PHP
PHP通用检测函数集合
Feb 08 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
PHP循环结构实例讲解
Feb 10 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
PHP封装CURL扩展类实例
Jul 28 PHP
非常重要的php正则表达式详解
Jan 04 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
May 12 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
laravel实现上传图片的两种方式小结
Oct 12 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 #PHP
微信公众号开发之语音消息识别php代码
Aug 08 #PHP
PHP+JQuery+Ajax实现分页方法详解
Aug 06 #PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 #PHP
Thinkphp微信公众号支付接口
Aug 04 #PHP
浅析Laravel5中队列的配置及使用
Aug 04 #PHP
PHP中如何判断exec函数执行成功?
Aug 04 #PHP
You might like
深入分析php中接口与抽象类的区别
2013/06/08 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
基于javascript简单实现对身份证校验
2021/01/25 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
Python处理CSV与List的转换方法
2018/04/19 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Python中的 enum 模块源码详析
2019/01/09 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
用 python 进行微信好友信息分析
2020/11/28 Python
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
三年级音乐教学反思
2014/01/28 职场文书
公共场所禁烟标语
2014/06/25 职场文书