【问题标题】:YII2 extra condition with AND operatorYII2 带有 AND 运算符的额外条件
【发布时间】:2020-03-04 15:34:45
【问题描述】:

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

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


    【解决方案1】:

    试试这个方法

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

    【讨论】:

      【解决方案2】:

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

      在你的情况下:

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

      请注意,使用这种语法您不需要绑定参数,您可以直接在条件数组中指定它们,因为 Yii2 会过滤它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-21
        • 2011-04-28
        • 2018-11-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多