Php 在yii2查询生成器中,如何使用带where子句的In运算符

Php 在yii2查询生成器中,如何使用带where子句的In运算符,php,mysql,yii,yii2,Php,Mysql,Yii,Yii2,我没有发现yii2查询生成器yii\db\query使用带where子句的in运算符的任何示例。目前我正以这种方式使用它 $result = (new \yii\db\Query) ->select('*') ->from('customer c') ->where('c.status in (' . implode(',', [0,1]) . ')')->all(); 但必须有更好的方法来做到这一点。提前谢谢 $result = (new \y

我没有发现yii2查询生成器
yii\db\query
使用带where子句的in运算符的任何示例。目前我正以这种方式使用它

$result = (new \yii\db\Query)
    ->select('*')
    ->from('customer c')
    ->where('c.status in (' . implode(',', [0,1]) . ')')->all();
但必须有更好的方法来做到这一点。提前谢谢

$result = (new \yii\db\Query)
    ->select('*')
    ->from('customer c')
    ->where(['c.status' => [0, 1]])->all();
在API中:

指定为数组的
$condition
可以采用以下两种格式之一:

  • 散列格式:
    ['column1'=>value1,'column2'=>value2,…]
  • 运算符格式:
    [运算符,操作数1,操作数2,…]
。。。如果值是数组,则将在表达式中生成一个

  • ['id'=>[1,2,3],'status'=>2]
    生成
    (1,2,3)中的id)和(status=2)

编写所需的sql查询