YII2 where查詢條件整理

1.User::find()->all(); 此方法返回所有數據;

2.User::findOne($id); 此方法返回 主鍵 id=1 的一條數據(舉個例子);

3.User::find()->where([‘name’ => ‘小夥兒’])->one(); 此方法返回 [‘name’ => ‘小夥兒’] 的一條數據;where([’>’, ‘字段名’, ‘值’])查詢比條件的

4.User::find()->where([‘name’ => ‘小夥兒’])->all(); 此方法返回 [‘name’ => ‘小夥兒’] 的所有數據;

5.User::find()->orderBy(‘id DESC’)->all(); 此方法是排序查詢;

6.if (!empty($search)) {
$query->andWhere([‘like’, ‘title’, $search]);
}
生成的語句就是10) AND (title LIKE ‘%yii%’)
操作符格式:
[操作符作符, 操作數1, 操作數2, …]
第一個參數是操作符
操作符包括and、or、 like、in、 between等
第二個第三個都是操作數

第一種最簡單的就是上面提到的例子
 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%'))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章