Pregunta Yii2: campo de actualización con generador de consultas


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

22
2017-08-24 07:56


origen


Respuestas:


El generador de consultas es solo para consultas de selección (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)


11
2017-08-26 07:45



El comando Crear se puede usar 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();

17
2017-08-30 09:15



Prueba así,

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

Por ejemplo,

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

6
2017-08-01 06:35



Además, si necesita usar la columna en sí 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();

5
2017-10-06 10:38



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

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


2
2018-06-10 07:59



Si tiene mpre luego una condición, use esto

$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'],
        ]

    );

1
2018-03-09 18:47