[YII2使用AND运算符的额外条件

问题描述 投票:0回答:2

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

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();

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

yii2 updates multiple-conditions
2个回答
1
投票

尝试这种方式

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

1
投票

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

根据您的情况:

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

[请注意,使用这种语法,您不需要绑定参数,您可以在Yii2对其进行约束时直接在条件数组中指定它们。

© www.soinside.com 2019 - 2024. All rights reserved.