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();
El generador de consultas es solo para consultas selectas (suma, máximo, cuenta también). Debe usar otros métodos: AR o consultas sin formato ( https://github.com/yiisoft/yii2/blob/master/docs/guide/db-dao.md#basic-sql-queries )
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 **