Yii2 where 条件 整理

Yii2 where 涉及的几种形式
where、 addParams 、filterWhere 、andWhere、orWhere、 andFilterWhere()、 orFilterWhere()、andFilterCompare() 
....

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

第一种最简单的就是上面提到的例子
 andWhere(['like', 'title','yii']);
... WHERE  (`title` LIKE '%yii%')

第二种
addWhere(['and', 'id=1', 'parent_id=1']);
... WHERE id=1 AND parent_id=1

第三种
addWhere(['and', 'type=1', ['or', 'id=1', 'parent_id=1']]);
... WHERE type=1 AND (id=1 OR parent_id=1);

第四种
->andWhere(['or like','name',['辣酱','spicy']]);
 WHERE `name` LIKE '%辣酱%' OR `name` LIKE '%spicy%';
 
 第五种
 addWhere(['or',['like','name','辣酱'],['like','title','spicy']]);//操作符格式的嵌套
... WHERE (`status`=1) AND ((`name` LIKE '%辣酱%') OR (`title` LIKE '%spicy%'))

官方文档:http://www.yiichina.com/doc/guide/2.0/db-query-builder

你可能感兴趣的:(Yii2)