eloquent实现事务的操作是什么?
Admin 2021-05-28 群英技术资讯 1057 次浏览
事务对于很多新手来说都是比较难理解的内容,为了帮助大家熟悉事务,这篇文章就给大家介绍关于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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5 或者 SHA1 等。在 PHP7 中,引入了以下两个 CSPRNG 函数,通过跨平台方式生成加密安全的整数和字符串。
在laravel中,chunk()方法用于将集合分割为多个指定大小的较小集合,语法为“$指定集合->chunk(指定数量);”;该方法会对各个用户数据进行更新后再查看各个用户数据,这样在查询数据时没有获取大量数据,能够减轻系统的压力。
什么是命名空间?从广义上来说,命名空间是一种封装事务的方法。PHP命名空间(namespace)是在PHP 5.3中加入的,如果你学过C#和Java,那命名空间就不算什么新事物。不过在PHP当中还是有着相当重要的意义。
和html、xml文件不同,PHP文件不可以直接用浏览器打开,而是需要有PHP的运行环境才可以访问和打开。当然如果只是单纯的想要编辑PHP文件,而不是运行的话,那么是比较简单的
Swoole不能代替Apache和Nginx这些通用的HTTP服务器。管理还是要nginx,代替不了nginx,如果你的服务大到需要HTTP/WebSocket反向代理,当然还是Nginx的反向代理更加专业些。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008