如学生表 student,字段有:id、name、score
1.给id为10的学生,成绩加1
$id=10;
$model = Student::findOne($id);
$model->score += 1;
$model->save();
2.给id小于10的学生,成绩全部修改为80分,$id=10
Student::updateAll(["score"=>80],"id<:id",[":id"=>$id])
3.给id大于10的学生,成绩全部自加1,$id=10
这个如果用原生的sql很简单,但是如果不想写原生的,可以参考以下写法
Model::updateAll($attributes,$conditions,$params);
Student::updateAll(["score"=>new \Yii\db\Expression("score+1")],"id>:id",[":id"=>$id]);
以上仅供参考
阅读(2663) | 评论(0) | 转发(0) |