YII2 where查询条件整理 [ 2.0 版本 ]

本文详细介绍了YII2框架中用于构建复杂查询的where条件,包括字符串、哈希和操作符格式的使用,如andWhere、orWhere、filterWhere等。通过示例展示了如何组合使用这些方法创建多条件查询,如嵌套OR和AND条件,以及LIKE、IN、BETWEEN等操作符。
摘要由CSDN通过智能技术生成

文章涉及where、 addParams 、filterWhere 、andWhere、orWhere、 andFilterWhere()、 orFilterWhere()、andFilterCompare()
但是格式是一样的

字符串格式’status=1’
哈希格式’status’ => 1, ‘type’ => 2]
操作符格式’like’, ‘name’, ‘test’]

字符串和哈希格式很好理解,我们来看看操作符格式,因为操作符格式可以组成相对复杂的查询语句
最简单的就是官方给的例子

$status = 10;
$search = ‘yii’;

$query->where([‘status’ => $status]);

if (!empty($search)) {
$query->andWhere([‘like’, ‘title’, $search]);
}
生成的语句就是10) AND (title LIKE ‘%yii%’)

操作符格式

[操作符作符, 操作数1, 操作数2, …]

第一个参数是操作符
操作符包括and、or、 like、in、 between等
第二个第三个都是操作数
0cb4d39e-418f-4183-a900-8a4ab5b1aadf.png

第一种最简单的就是上面提到的例子
andWhere([‘like’, ‘title’,‘搜索的标题’]);
生成的语句
… WHERE (status = 10) AND (title LIKE ‘%yii%’)
第二种二种
addWhere([‘and’, ‘id=1’, ‘name=2’]);
生成的语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值