thinkphp实现自增自减


// 假设你已经有了 User 模型  
use app\model\User;  
  
public function decreaseScoreAndLevel()  
{  
    // 使用模型方法进行更新  
    $result = User::where('some_condition', 'some_value') // 根据需要添加条件  
        ->update([  
            'score' => ['exp', 'score - 5'], // 使用表达式递减 score  
            'level' => ['exp', 'level - 1'], // 使用表达式递减 level  
        ]);  
  
    if ($result) {  
        // 更新成功  
        echo 'Score and level decreased successfully.';  
    } else {  
        // 更新失败  
        echo 'Failed to decrease score and level.';  
    }  
}
// 假设你已经在控制器或方法中引入了数据库查询构造器  
use think\Db;  
  
public function decreaseScoreAndLevel()  
{  
    // 使用原生SQL语句进行更新  
    $result = Db::name('user')  
        ->where('some_condition', 'some_value') // 根据需要添加条件  
        ->setDec('score', 5) // score 字段减 5  
        ->setDec('level', 1) // level 字段减 1  
        ->update();  
  
    if ($result) {  
        // 更新成功  
        echo 'Score and level decreased successfully.';  
    } else {  
        // 更新失败  
        echo 'Failed to decrease score and level.';  
    }  
}



评论0



    0.151129s