Laravel:如果我配置了单独的读/写连接,并在事务中进行读写,会发生什么?

时间:2015-05-04 15:27:44

标签: php laravel laravel-4 transactions laravel-5

如果我在database.php中配置了读/写,并且我启动了DB::transaction(function() { // series of reads and writes })这样的事务,那么一切都会在write连接上运行,还是会有两个单独的事务,或者会爆炸吗?

2 个答案:

答案 0 :(得分:2)

https://github.com/laravel/framework/pull/3272

getReadPdo()现在检查查询是否在事务中,并且在这种情况下返回与写入相同的PDO连接。

答案 1 :(得分:1)

如果您说要在事务中使用相同的连接进行读取和写入,那么这将正常工作 - 您可以在事务期间从数据库中读取。

如果您在另一个连接上作为事务的一部分写入时想要使用一个连接进行读取,那么这也可以正常工作,尽管您可能有时读取连接会阻塞直到写入连接交易完成。