189 8069 5689

laravel数据库事务回滚-创新互联

      背景:近期使用Laravel-5.4进行项目开发时涉及到关联模型的数据操作,想到用事务回滚。中间涉及到数据引用及异常的捕获。

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供成都网站制作、网站设计、网站策划、网页设计、国际域名空间、网站空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

        数据库事务回滚有两种方式:自动回滚、手动回滚。

举例如下:

        自动回滚

    function(Request $request){           DB::transaction(function () use ($request) {          try {            $admin = Admin::create(['name' => $request->name, 'password' => encrypt($request->password), 'email' => $request->email]);          $admin->roles()->attach($request->role_id);          //    $admin->roles()->attach('sd');//故意输入错误参数类型,commit失败          return 'success';        } catch (\Exception $exception) {          return $exception->getMessage();        }         });     }

             需要使用use 引用请求数据$request。否则报错 "Undefined variable:request"

       手动回滚

    function(Request $request){         DB::beginTransaction();         try {             $admin = Admin::create(['name' => $request->name, 'password' => encrypt($request->password), 'email' => $request->email]);             $admin->roles()->attach($request->role_id);                     DB::commit();             return 'success';         } catch (\Exception $exception) {             DB::rollBack();             return $exception->getMessage();         }     }

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:laravel数据库事务回滚-创新互联
链接URL:http://cdxtjz.cn/article/djhpog.html

其他资讯