YII2 дополнительное условие с оператором AND - PullRequest
0 голосов
/ 04 марта 2020

Я обновляю запись следующим образом:

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

Моя цель - добавить дополнительное условие с помощью оператора AND, но я не знаю, как это сделать.

Я следовал этому примеру: ССЫЛКА

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

Но это не показывает много возможностей.

Ответы [ 2 ]

1 голос
/ 04 марта 2020

попробуйте так

Yii::$app->db->createCommand()
             ->update('table', ['config' => json_encode($array)],
             'field1 = :field1 AND field2 = :field2',[':field1' =>  $field1,':field2' =>  $field2])
             ->execute();
1 голос
/ 04 марта 2020

Так же, как массив, с каждым условием, разделенным ,.

В вашем случае:

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

Обратите внимание, что с этим синтаксисом вам не нужно связывать параметры Вы можете указать их непосредственно в массиве условий, так как Yii2 их санирует.

...