php - Yii2:无法通过 + 1 更新列值

标签 php mysql activerecord yii yii2

我需要在创建新记录时通过 +1 更新列值:

public function actionCreate()
    {
        $model = new CreateBookings();
        if ($model->load(Yii::$app->request->post())) {
            Yii::$app->db->createCommand("UPDATE room_types SET total_booked = total_booked + 1 WHERE room_type = '$model->room_type' ")->execute();
            $model->save();
            return $this->redirect(['view', 'id' => $model->id]);
            } else {
                 return $this->render('create', [
                 'model' => $model,
                 ]);
            }
    }

我做错了什么请指导:)

最佳答案

试试这个:

 Yii::$app->db->createCommand("UPDATE room_types SET total_booked=total_booked+1 WHERE room_type = '$model->room_type' ")->execute();

public function actionCreate()
    {
        $model = new CreateBookings();
        if ($model->load(Yii::$app->request->post())) {

    $RoomType = new room_types(); // room type replace with model name
    $RoomType->updateCounters(['total_booked' => 1]);

      $model->save();
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    }

官方link

关于php - Yii2:无法通过 + 1 更新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36623067/

相关文章:

mysql - SQL ORDER BY - 为什么它在这里不起作用?

ruby-on-rails - rails回调没有被执行

ruby-on-rails-3 - 如何从Rails中多年的表中找到不同的年份

PHP 与 MySQL 8.0+ 错误 : The server requested authentication method unknown to the client

php - jQuery AJAX PHP JSON 问题

PHP 用 mysql 列的总和填充数组

javascript - 解析要发布的 JSON 对象

ruby-on-rails - 使用连接的 Ruby on Rails ActiveRecord 查询

javascript - 从数据库中调用数据进行计算(PHP)

php - 为什么 if 不进行比较?