繁体   English   中英

Laravel交易

[英]Laravel transaction

在事务方面,我已经看到了两种方法,这两种方法和好处有什么区别?

这些代码在仓库中。

示例1常用方法

DB::transaction(function () {

});

这个例子的目的是什么?

public function createCustomer(Request $request, $id)
    {   
        $self = $this;

        return $this->model->getConnection()->transaction(function () use ($self, $request, $id) {

        });
}

实际上,当您使用以下代码时:

DB::transaction(function () {
    // ...
});

Laravel将使用config/.env文件中提供的默认连接,但是如果您要对模型使用其他连接,则可以使用以下代码,例如:

return $this->model->getConnection()->transaction(...);

在这种情况下,您的模型应包含一个受保护的属性以用作其连接,例如:

class SomeModel extends Model {

    protected $connection = 'pgsql';
}

而已。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM