update findone and updating query-builder yii2

updating - findone - Yii2: campo de actualización con generador de consultas



yii2 sqlite (6)

Si tienes mpre entonces una condición entonces usa este

$this->localdb->createCommand() ->update( $this->MYTable, [ ''name'' => $el[''new''], ''data'' => $el[''data''], ], [ ''userId'' => $this->user, ''product_id'' => $this->productId, ''name'' => $el[''old''], ''created'' => $el[''date''], ''category'' => $el[''cat''], ] );

¿Cómo puedo actualizar el campo con el generador de consultas en Yii2? No puedo encontrar esto en la documentación.

¡Gracias!

UPD

Esta es la solución:

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


Además, si necesita usar la columna en la consulta de actualización, debe usar yii / db / Expression.

/Yii::$app->db->createCommand() ->update(''user'', [''visits'' => new /yii/db/Expression(''visits + 1'')], ''age > 30'') ->execute();


El comando de creación se puede utilizar directamente de la siguiente manera:

/Yii::$app->db->createCommand("UPDATE table SET column1=:column1, column2=:column2 WHERE id=:id") ->bindValue('':id'', your_id) ->bindValue('':column1'', :column1_value) ->bindValue('':column2'', :column2_value) ->execute();



Prueba asi

Yii::$app->db->createCommand() ->update(''table_name'', [SET_Values], ''CONDITION'') ->execute();

Por ejemplo,

Yii::$app->db->createCommand() ->update(''users'', [''status'' => 1], ''age > 30'') ->execute();


Yii::$app->db->createCommand() ->update(''customer'', [''otp'' => $otp_rand], [''custid'' => 23]) ->execute();

** esta es la sintaxis correcta y funciona y probado en yii2 **