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 jquery 实现新闻标签分类与无刷新分页
Dec 18 PHP
PHP 防恶意刷新实现代码
May 16 PHP
一个基于PDO的数据库操作类
Mar 24 PHP
php长字符串定义方法
Jul 12 PHP
JS异常处理try..catch语句的作用和实例
May 05 PHP
php实例分享之mysql数据备份
May 19 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 PHP
php构造函数与析构函数
Apr 23 PHP
如何使用PHP给图片加水印
Oct 12 PHP
php生成无限栏目树
Mar 16 PHP
php 判断IP为有效IP地址的方法
Jan 28 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 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中file_exists与is_file,is_dir的区别介绍
2012/09/12 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
DOM相关内容速查手册
2007/02/07 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
jquery 学习之二 属性(类)
2010/11/25 Javascript
JQuery radio(单选按钮)操作方法汇总
2015/04/15 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
详解基于vue的服务端渲染框架NUXT
2018/06/20 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
微信小程序移动拖拽视图-movable-view实例详解
2019/08/17 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
详解Python中用于计算指数的exp()方法
2015/05/14 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
全球性的女装店:storets
2019/06/12 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
省三好学生申请材料
2014/01/22 职场文书
市场安全管理制度
2014/01/26 职场文书
2014年党务公开方案
2014/05/08 职场文书
2016高考寄语集锦
2015/12/04 职场文书