2016-02-19 31 views
3

我沒有找到yii2查詢生成器yii\db\Query在where子句中使用的運算符的任何示例。目前我正在以這種方式使用它在yii2查詢生成器如何在運算符中使用where子句

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

但是,一定有更好的方法來做到這一點。由於事先

+0

寫你想要的sql查詢 –

回答

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)
相關問題