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 mysql数据库操作分页类
Jun 04 PHP
php5.3 废弃函数小结
May 16 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
PHP中使用json数据格式定义字面量对象的方法
Aug 20 PHP
PHP向浏览器输出内容的4个函数总结
Nov 17 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
PHP正则获取页面所有图片地址
Mar 23 PHP
PHP线程的内存回收问题
Jul 08 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 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
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
JS的Document属性和方法小结
2013/09/17 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
小程序实现录音功能
2020/09/22 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
python实现查询IP地址所在地
2015/03/29 Python
简化Python的Django框架代码的一些示例
2015/04/20 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
python实现kNN算法
2017/12/20 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
python做反被爬保护的方法
2019/07/01 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
python安装后的目录在哪里
2020/06/21 Python
某公司Java工程师面试题笔试题
2016/03/27 面试题
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
护士工作失误检讨书
2014/09/14 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
导师对论文的学术评语
2015/01/04 职场文书
python办公自动化之excel的操作
2021/05/23 Python
pytorch 使用半精度模型部署的操作
2021/05/24 Python
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android