Laravel嵌套数据库事务



我对Laravel嵌套事务进行了一些挖掘,但我仍然非常困惑。基本上,在我的代码中,我有一个调用函数,它调用了多个其他函数,被调用的函数变成了调用函数,它们调用了其他多个函数,例如

public function A()
{
$this->B();
$this->C();
}
public function B()
{
$this->D();
$this->E();
}
public function C()
{
$this->F();
}

我想实现的是,每当DB异常发生时,我都想回滚调用和被调用函数中的所有事务,所以我只想知道我必须在哪里开始事务和结束事务,意味着我应该在每个单独的函数或根函数中开始事务,以及如何将异常从被调用函数传递到调用函数,希望你们能得到我的分数

为什么不简单地进行

public function A()
{
$this->D();
$this->E();
$this->F();
}

这样,您就可以将DB::transaction(function ...)放在所有3个A()B()C()

最新更新