Yii2的索引页面的默认数据提供程序如下:
$dataProvider = new ActiveDataProvider([
'query' => ModelName::find(),
]);
现在,我有一个像$arr = [1, 2, 4, 6];
我想添加一个where子句,如:
WHERE parentId=1 OR parentId=2 OR parentId=4 OR parentId=6
我该怎么做?
答案 0 :(得分:13)
可以这样做:
$query = ModelName::find()->where(['parentId' => $arr]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
当您将数组传递给where
时,Yii会自动将其转换为IN
条件。
因此生成的SQL条件部分将为WHERE parentId IN (1, 2, 4, 6);
。
它与OR
提到的条件相同。