eloquent实现事务的操作是什么?
Admin 2021-05-28 群英技术资讯 1450 次浏览
事务对于很多新手来说都是比较难理解的内容,为了帮助大家熟悉事务,这篇文章就给大家介绍关于laravel eloquent实现事务的方式,下面我们一起来学习一下吧。
想要在一个数据库事务中运行一连串操作,可以使用DB门面的transaction方法,如果事务闭包中抛出异常,事务将会自动回滚。如果闭包执行成功,事务将会自动提交。使用transaction方法时不需要担心手动回滚或提交:
DB::transaction(function () {
DB::table('users')->update(['votes' => 1]);
DB::table('posts')->delete();
});
手动使用事务
如果你想要手动开始事务从而对回滚和提交有一个完整的控制,可以使用DB门面的beginTransaction方法:
DB::beginTransaction();
你可以通过rollBack方法回滚事务:
DB::rollBack();
最后,你可以通过commit方法提交事务:
DB::commit();
注意:使用DB门面的事务方法还可以用于控制查询构建器和 Eloquent ORM 的事务。
2.具体是这样使用的:
use Illuminate\Support\Facades\DB;
//开启事务
DB::beginTransaction();
try{
//中间逻辑代码 DB::commit();
}catch (\Exception $e) {
//接收异常处理并回滚 DB::rollBack();
}关于laravel中eloquent实现事务的方式介绍就到这,上述示例有一定的借鉴价值,有需要的朋友可以参考,希望大家阅读完这篇文章能有所收获。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家介绍laravel中blade模板的使用,很多刚接触laravel框架的朋友对于blade模板可能不是很清楚,因此下面给大家分享blade模板实现分页的内容,感兴趣的朋友可以了解一下。
本文主要介绍了Laravel中schedule调度的运行机制,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在thinkphp中,route路由的作用就是简化URL访问地址,并且根据定义的路由类型做出正确的解析,路由的目的就是为了简化路径,在简化路径的同时进行一些规则的定义。
instanceof 用于确定一个PHP变量是否属于某一类 class 的实例:Example#1对类使用 instanceof<?phpclassMyClass{}classNotMyClass{...
在thinkphp中,可以利用“_complex”进行多个条件查询,“_complex”常用于实现复合查询,可以设置第一个查询与第二个查询条件之间是“与”的关系,语法为“条件一['_complex'] = 条件二”。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008