Laravel 开启数据库事务

laravel多表开启事务

学习Markdown语法


  • 开启事务

    DB::beginTransaction();//开启事务
  • try{ } catch{ }包裹代码

    try{
        $user=new User();
        $user->nickname='可乐';
        $user->sex='男';
        $user->phone='150XXXXXXXXX';
        $user->address='宇宙办事处--哔哩哔哩办公室';
        if(!user->save()){
            throw new \Exception('出错了呢');//抛出异常
        }
        $article=new Article();
        $article->user_id=$user->id;
        $article->title='哔哩哔哩干杯';
        $article->summary='这里是哔哩哔哩宇宙办事处,今天是办事处成立10周年';
        $article->author='哔哩哔哩战略忽悠局';
        $article->body='XXXXXXXXXXXXXXXXXXXXXXXX';
        if(!$article->save()){
            throw new \Exception('哔~哔~哩~ 哔哩哔哩');//抛出异常
        }
        DB::commit();//提交至数据库
        return response()->json(['code'=>10010,'msg'=>'发报成功']);
    }catch(\Exception $exception){
        DB::rollback();//数据库回滚
        return response()->json(['code'=>10086,'msg'=>'信号不好,请检查信号呦']);
    }
本作品采用《CC 协议》,转载必须注明作者和本文链接
我爱大可乐
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3
 if($article->save()){
        throw new \Exception('哔~哔~哩~ 哔哩哔哩');//抛出异常
    }

为什么保存成功了要抛出异常呢

3年前 评论

@马九南 因为作者是战略忽悠局的。 $article->author='哔哩哔哩战略忽悠局';

3年前 评论

@轻描淡写 哈哈,没注意文字内容。原来是战忽局的人。

3年前 评论
我爱大可乐 (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!