我没有找到yii2查询构建器yii\db\Query
中使用where子句的运算符的任何示例。我暂时用这种方式
$result = (new \yii\db\Query)
->select('*')
->from('customer c')
->where('c.status in (' . implode(',', [0,1]) . ')')->all();
但必须有更好的方法来做到这一点。提前致谢
答案 0 :(得分:7)
$result = (new \yii\db\Query)
->select('*')
->from('customer c')
->where(['c.status' => [0, 1]])->all();
在yii\db\QueryInterface::where()
API中:
指定为数组的
$condition
可以采用以下两种格式之一:
- 哈希格式:
['column1' => value1, 'column2' => value2, ...]
- 运营商格式:
[operator, operand1, operand2, ...]
...如果值是数组,将生成
IN
表达式。
['id' => [1, 2, 3], 'status' => 2]
生成(id IN (1, 2, 3)) AND (status = 2)
。