Laravel事务不回滚

时间:2015-08-15 06:45:12

标签: laravel

尝试这样的事情:

DB::beginTransaction();
try
{
  $model = new Model;
  $model->name = $name;
  $model->save();

  $another = new AnotherModel;
  $another->id = $model->id;
  $another->value = $value; // here i have a validation exception
  $another->save();

  DB::commit();
}catch( Exception $e )
{
  DB::rollback();
}

当抛出$another->value中的验证异常时,$another未保存,$model仍保存在数据库表中。

  

mysql:5.6.21

     

表:InnoDB

1 个答案:

答案 0 :(得分:0)

首先, MyIASM 不支持回滚和提交,因此您需要使用 InnoDB 。因此请确保。

要回答您的问题,回滚中的'b'是大写的'B'。

Change => DB::rollback();

To = > DB::rollBack();

可以。