YII2 带有 AND 运算符的额外条件

YII2 extra condition with AND operator

我正在以这种方式更新一条记录:

Yii::$app->db->createCommand()->update('table', ['config' => json_encode($array)], 
        'field1 = :field1', [':field1' => $field1] 
        )->execute();  

我的目标是使用 AND 运算符添加一个额外的条件,但我不知道该怎么做。

我遵循了这个例子:LINK

 // UPDATE (table name, column values, condition)
 Yii::$app->db->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();

但它并没有显示出很多可能性。

就像一个数组,每个条件由 , 分隔。

你的情况:

Yii::$app->db->createCommand()->update(
  'table', 
   ['config' => json_encode($array)], 
   ['field1' => $field1, 'field2' => $field2]
)->execute();  

请注意,使用此语法,您无需绑定参数,您可以在 Yii2 对它们进行筛选时直接在条件数组中指定它们。

试试这个方法

Yii::$app->db->createCommand()
             ->update('table', ['config' => json_encode($array)],
             'field1 = :field1 AND field2 = :field2',[':field1' =>  $field1,':field2' =>  $field2])
             ->execute();