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调用三种数据库的方法(2)
Oct 09 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
Apr 25 PHP
PHP clearstatcache()函数详解
Mar 02 PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 PHP
PHP学习笔记(二):变量详解
Apr 17 PHP
php自动识别文字编码并转换为目标编码的方法
Aug 08 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
解决Laravel无法使用COOKIE和SESSION的问题
Oct 16 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 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
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
一个实用的php验证码类
2017/07/06 PHP
laravel自定义分页效果
2017/07/23 PHP
vmware linux系统安装最新的php7图解
2019/04/14 PHP
JS类的封装及实现代码
2009/12/02 Javascript
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
axios使用拦截器统一处理所有的http请求的方法
2018/11/02 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
js实现小时钟效果
2020/03/25 Javascript
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python在Console下显示文本进度条的方法
2016/02/14 Python
python 实现敏感词过滤的方法
2019/01/21 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
Flask教程之重定向与错误处理实例分析
2019/08/01 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
英国足球店:UK Soccer Shop
2017/11/19 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
信息工程学院毕业生推荐信
2013/11/05 职场文书
高中毕业自我鉴定
2013/12/19 职场文书
食品安全承诺书
2014/05/22 职场文书
质量管理标语
2014/06/12 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
OpenCV中resize函数插值算法的实现过程(五种)
2021/06/05 Python
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server