快乐每一天

自己选择的路,跪着也要走下去...

ThinkPHP5 中try{}catch{}是事务异常处理 +回滚事务


    public  function test1()
    {
        
            Db::startTrans();
            // 事务 
            try{ 
            // 第1条数据更新id 18
            $a=Db::name('user')->where("id", 15)->update(['ledou' => 8888888888]);
            // 判断是否更新成功
                if (!$a) {
                throw new \Exception("第1条数据更新失败"); 
                }
                // 第2条数据更新 id 9
                $b= Db::name('order')->where('id',9)
                        ->update(['status' => 8]);
                // 判断是否更新成功
                if (!$b) {
                    throw new \Exception("第2条数据更新失败");
                    } 
                    // 执行提交操作
                Db::commit();
                }catch(\Exception $e){
                // 回滚事务
                Db::rollback();
                // 获取提示信息
                dump($e->getMessage()); 
                
                }
                if ($a&$b) {
                
                 return json(['code' => 1, 'msg' => '成功']);
                }else{
                 return json(['code' => 0, 'msg' => '失败']);
                
                }
        
    }
此文章共有条评论, 人参与 |Powerd By Angboo