TP5 事务处理

事务的处理

  程序 A执行完成后 再执行B 当AB同时执行成功后 才算完成;
  其中一项失败,执行回滚;
自动控制事务
public function delete(){
      //由于第二条数据有问题没有执行成功,只执行第一条
      Db::table('user')->delete(1);
      Db::table('user')->deketess(2);
      
     //由于第二条数据有问题,两条数据都不出执行
      Db::transaction(function(){
         Db::table('user')->delete(1);
         Db::table('user')->deketess(2);
      }
}
手动自行事务
pulbic function delete()
{
      //启动事务
      Db::startTrans();
      try{
            $res = Db::table("user")->delete(1);
            if(!$res){
                  throw new \Exception('删除失败');
            }else{
                  throw new \Exception('删除成功');
            }
            //提交事务
            Db::commit();
      } catch (\Exception $e) {
            dump($e->getMessage());
            //回滚事务
            Db::rollback();
      }
}
posted @ 2021-02-04 14:17  野香蕉  阅读(129)  评论(0)    收藏  举报