如何在不同类的不同方法中开始和提交事务?

时间:2018-01-02 16:01:02

标签: php laravel transactions laravel-5.4

例如

a.php只会

class A{
  public function abc(){
    DB::beginTransaction();
    $result = Model::save();
  }
}

B.php

class B{
  public function cde(){
    DB::commit(); //or DB::rollback;
  }
}

这是来自不同文件的两个类。

步骤:

  1. $ a-> abc()首先会被调用
  2. 然后付款操作
  3. 然后$ b-> cde()将被调用
  4. 如果付款成功则提交
  5. else rollback
  6. 我们能做到吗?

    我试过了,但没有运气。有没有人有办法解决这个问题?

    任何帮助将不胜感激。

    修改

    1. 我正在注册用户并保存其文件。
    2. 然后我开始事务并保存文件,因此截至目前没有数据保存在数据库中。它在交易中还有待完成。
    3. 现在页面重定向到付款网址,因此我丢失了所有文件数据和表单数据
    4. 如果付款将根据付款响应(成功或失败)重定向到返回网址,我想保存或删除即提交或回滚数据。
    5. 在此基础上,我这么想。

      你可以为这个问题建议任何替代方案,因为我的想法不起作用吗?

0 个答案:

没有答案