在yii2查询生成器中如何在运算符中使用where子句

Kul*_*ngi 3 php mysql yii yii2

我没有找到yii\db\Query使用where子句的运算符中的yii2查询构建器的任何示例.暂时我用这种方式

$result = (new \yii\db\Query)
    ->select('*')
    ->from('customer c')
    ->where('c.status in (' . implode(',', [0,1]) . ')')->all();
Run Code Online (Sandbox Code Playgroud)

但必须有更好的方法来做到这一点.提前致谢

dro*_*ata 8

$result = (new \yii\db\Query)
    ->select('*')
    ->from('customer c')
    ->where(['c.status' => [0, 1]])->all();
Run Code Online (Sandbox Code Playgroud)

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).