Laravel 笔交易
Laravel transaction
关于交易,我见过两种方式,这两种方式有什么区别和好处?
repo 中的这些代码。
示例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';
}
就是这样。
关于交易,我见过两种方式,这两种方式有什么区别和好处?
repo 中的这些代码。
示例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';
}
就是这样。