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;