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 防恶意刷新实现代码
May 16 PHP
PHP 小心urldecode引发的SQL注入漏洞
Oct 27 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
php使用curl简单抓取远程url的方法
Mar 13 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
curl和libcurl的区别简介
Jul 01 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
php处理json格式数据经典案例总结
May 19 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 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中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
vue.js实现价格格式化的方法
2017/05/23 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
js实现京东秒杀倒计时功能
2019/01/21 Javascript
小程序转发探索示例
2019/02/19 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
微信小程序实现watch监听
2020/06/04 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
九步学会Python装饰器
2015/05/09 Python
浅谈python jieba分词模块的基本用法
2017/11/09 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
Python API len函数操作过程解析
2020/03/05 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
酒店办公室文员岗位职责
2013/12/18 职场文书
我的动漫时代的创业计划书范文
2014/01/27 职场文书
质量承诺书范文
2014/03/27 职场文书
党性心得体会
2014/09/03 职场文书
企业法人代表证明书
2014/09/27 职场文书
2014年文秘工作总结
2014/11/25 职场文书