首页 > 走进后端

Yii2中执行非选择查询实现更新字段数字加减

时间:2016-10-25|浏览次数:3026次

Yii2中执行非选择查询Yii::$app->db->createCommand()->update($table, $columns, $condition)如何实现类似于Model::updateAllCounters()计数器的方法,来实现字段的加减。

这里主要使用“yii\db\Expression”类来指定db表达式。

看示例:

$fieldViewExpression = new Expression('view+1');

Yii::$app->db->createCommand()
->update(NewsModel::tableName(),['view'=>$fieldViewExpression],['id'=>2])
->rawSql.';'

结果会生成一下sql语句:

UPDATE `news` SET `view`=view+1 WHERE `id`=2;