从品牌网站建设到网络营销策划,从策略到执行的一站式服务
背景:近期使用Laravel-5.4进行项目开发时涉及到关联模型的数据操作,想到用事务回滚。中间涉及到数据引用及异常的捕获。
成都创新互联公司是一家专业提供获嘉企业网站建设,专注与网站建设、成都网站建设、HTML5建站、小程序制作等业务。10年已为获嘉众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
数据库事务回滚有两种方式:自动回滚、手动回滚。
举例如下:
自动回滚
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(); } }
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图