laravel5 Eloquent 实现事务方式


Posted in PHP onOctober 21, 2019

1.官方手册是这样介绍的:

想要在一个数据库事务中运行一连串操作,可以使用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(); 
}

以上这篇laravel5 Eloquent 实现事务方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP 应用程序的安全 -- 不能违反的四条安全规则
Nov 26 PHP
php 文本文件的读取效率
Feb 10 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
php实现的树形结构数据存取类实例
Nov 29 PHP
php类常量用法实例分析
Jul 09 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
May 16 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
基于PHP实现用户在线状态检测
Nov 10 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 #PHP
laravel利用中间件做防非法登录和权限控制示例
Oct 21 #PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 21 #PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 #PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 #PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 #PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 #PHP
You might like
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
PHP中session跨子域的三种实现方法
2016/07/25 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
laravel 操作数据库常用函数的返回值方法
2019/10/11 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
JS处理VBArray的函数使用说明
2008/05/11 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
HTML的form表单和django的form表单
2019/07/25 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
2020/04/01 Python
基于python图像处理API的使用示例
2020/04/03 Python
python 实现汉诺塔游戏
2020/11/28 Python
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
群众路线领导对照材料
2014/08/23 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
优秀班组事迹材料
2014/12/24 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js