概述
由于官方手册关于where的介绍比较少,所以想自己整理一下,以便大家的学习和自己回头查询。本篇文章会详细介绍and、or、between、in、like在where方法中的使用方法和举例。
and
where(['and','id > 1','id < 3'])->all();
// 或者用以下方式,更为安全
$userInfo = User::find()->where(['and',['>','id',1],['<',3]])->all();
// 往往我们会处理比这更复杂的sql
// 假如我们要查询name是王五 并且 id大于1或者id小于3的数据
$userInfo = User::find()->where(
['and',['=','name','王五'],['or',3]
]
])->asArray()->all();
// 注:asArray()方法会将数据以数组的方式显示
or
where(['or','id = 1','id = 3'])->all();
// 我们同样可以使用以下方式
$userInfo = User::find()->where(['or',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
where(['between',1,10])->all();
in
where(['in',[1,3]])->all();
like
where(['like','张'])->all();
// 我们假如要通配name中包含“张”这个字符,而且还得包含“三”这个字符
$userInfo = User::find()->where(['like',['张','三']])->all();
// 我们假如只需要通配左边即可
$userInfo = User::find()->where(['like','%三',false])->all();
// 所以,右边也是同样
以上所述是小编给大家介绍的Yii2增删改查之查询 where参数详细介绍的相关知识。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/php/19198.html