Laravel交易

时间:2016-03-20 14:54:14

标签: php laravel laravel-5.2

关于交易,我已经看到了这样做的两种方式,它们的区别在于两者和它的好处?

回购中的这些代码。

示例1常用方法

DB::transaction(function () {

});

这个例子的目的是什么?

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

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

        });
}

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

class SomeModel extends Model {

    protected $connection = 'pgsql';
}

那就是它。