1: 一般的解决办法 先查出来 在计算(要加减的变量 的值已知 20) 接着更新
$init_power = (new UserModel())->where('id',$item['user_id'])->value('power');
$res_power = $init_power + $current_num;
(new UserModel())->where('id',$item['user_id'])->save(['power'=>$res_power]);
有没有 直接 更新的操作 (要加减的变量 $a 的值已知 20)
2: thinkphp6 inc:
自增/自减
可以使用inc/dec方法自增或自减一个字段的值( 如不加第二个参数,默认步长为1)。
// score 字段加 1
Db::table('think_user')
->where('id', 1)
->inc('score')
->update();
// score 字段加 5
Db::table('think_user')
->where('id', 1)
->inc('score', 5)
->update();
// score 字段减 1
Db::table('think_user')
->where('id', 1)
->dec('score')
->update();
// score 字段减 5
Db::table('think_user')
->where('id', 1)
->dec('score', 5)
->update();