laravel transaction : laravel 的事务是不支持eloquent的, 要用DB::的方式
数据库事务处理#
你可以使用 transaction 方法,去执行一组数据库事务处理的操作:
DB::transaction(function()
{
DB::table('users')->update(['votes' => 1]);
DB::table('posts')->delete();
});
注意: 在
transaction闭包若抛出任何异常会导致事务自动回滚。
有时候你可能需要自己开始一个事务:
DB::beginTransaction();
你可以通过 rollback 的方法回滚事务:
DB::rollback();
最后,你可以通过 commit 的方法提交事务:
DB::commit();
获取连接#
若要使用多个连接,可以通过 DB::connection 方法取用:
$users = DB::connection('foo')->select(...);
你也可以取用原始底层的 PDO 实例:
$pdo = DB::connection()->getPdo();
有时候你可能需要重新连接到特定的数据库:
DB::reconnect('foo');
如果你因为超过了底层 PDO 实例的 max_connections 的限制,需要关闭特定的数据库连接,可以通过 disconnect 方法:
DB::disconnect('foo');
查找日志记录#
Laravel 可以在内存里访问这次请求中所有的查找语句。然而在有些例子下要注意,比如一次添加 大量的数据,可能会导致应用程序耗损过多内存。 如果要启用日志,可以使用 enableQueryLog 方法:
DB::connection()->enableQueryLog();
要得到执行过的查找纪录数组,你可以使用 getQueryLog 方法:
$queries = DB::getQueryLog();
laravel transaction : laravel 的事务是不支持eloquent的, 要用DB::的方式的更多相关文章
- 14.3.2.1 Transaction Isolation Levels 事务隔离级别
14.3.2 InnoDB Transaction Model InnoDB 事务模型 14.3.2.1 Transaction Isolation Levels 事务隔离级别 14.3.2.2 au ...
- Spring 对事务管理的支持
1.Spring对事务管理的支持 Spring为事务管理提供了一致的编程模板,在高层次建立了统一的事务抽象.也就是说,不管选择Spring JDBC.Hibernate .JPA 还是iBatis,S ...
- laravel/laravel和laravel/framework有何区别?
在安装laravel的时候,我们一般是download github上的laravel/laravel,随后执行composer install,在这个过程中,你会发现composer其中的一项工作是 ...
- Python Django,事务,transaction.atomic,事务保存点
from django.shortcuts import renderfrom django.http import HttpResponsefrom django.views.generic imp ...
- Arm宣布将在Linux中应用事务内存扩展支持
事务内存扩展是Arm对硬件事务内存的支持,用于改进对大型共享数据结构的并发访问. 在宣布事务性内存扩展和可伸缩向量扩展2时,Arm表示他们将很快为GNU工具链和LLVM提供支持.正如我们已经看到的,为 ...
- Dynamic Property Wizard 添加类提示 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目 错误提示解决方式
在重新打开OPM项目添加ATL动态属性向导Dynamic Property Wizard提示错误 ATL类只能添加到MFC EXE 和MFC规则DLL项目或完全支持ATL的项目. 有效的解决方式,右键 ...
- 在Laravel中使用数据库事务以及捕获事务失败后的异常
Description 在Laravel中要想在数据库事务中运行一组操作,则可以在 DB facade 中使用 transaction 方法.如果在事务的闭包内抛出异常,事务将会被自动还原.如果闭包运 ...
- Spring对事务管理的支持的发展历程--转
原文地址:http://www.iteye.com/topic/1123049 1.问题 Connection conn = DataSourceUtils.getConnection(); //开启 ...
- Spring对事务管理的支持的发展历程(基础篇)
1.问题 Connection conn = DataSourceUtils.getConnection(); //开启事务 conn.setAutoCommit(false); try { Obje ...
随机推荐
- Http协议之Request和Response
GET / HTTP/1.1表示向服务器用GET方式请求首页,使用HTTP/1.1协议 Cache-Control作用: 用来指定Response-Request遵循的缓存机制.各个指令含义如下Cac ...
- 解决ubuntu14.04下Qt 5.3.1下的QtCreator fcitx,ibus不能输入中文
http://my.oschina.net/u/219482/blog/341452 感谢作者 ubuntu 14.04从Qt官网下载的最新版qt,安装过程很顺利,但却发现没办法输入中文(我用的是 f ...
- cocos2dx实现经典飞机大战
游戏开始层 #ifndef __LayerGameStart_H__ #define __LayerGameStart_H__ #include "cocos2d.h" USING ...
- Zabbix利用msmtp+mutt发送邮件报警(公告:这文章有问题,还没有修改,2016-08-25)
[root@86 ~]# wget http://jaist.dl.sourceforge.net/project/msmtp/msmtp/1.4.32/msmtp-1.4.32.tar.bz2 百度 ...
- 我的MySQL5.6免安装版配置过程
最近打算学习MySQL,第一步就是安装.下载到一个面安装版.解压到我的D盘的mysql目录. 弄了一个最简单的配置文件.目录中只有一个my-default.ini,基本没啥用.在网上弄了一个my.in ...
- Android Dev Guides
Android Dev Guides Google Java编程风格指南中文版 英文地址:http://google-styleguide.googlecode.com/svn/trunk/javag ...
- ytu 1998:C语言实验——删除指定字符(水题)
C语言实验——删除指定字符 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 327 Solved: 211[Submit][Status][Web Boa ...
- phpcms分页使用
#pages { padding: 14px 10px; font-family: 宋体; } .text-c { text-align: center; } #pages span { displa ...
- 浅析 Java Thread.join()
转自:http://blog.csdn.net/bzwm/article/details/3881392 一.在研究join的用法之前,先明确两件事情. 1.join方法定义在Thread类中,则调用 ...
- android:layout_weight属性详解(转)
在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提 ...