尝试这样的事情:
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
答案 0 :(得分:0)
首先, MyIASM 不支持回滚和提交,因此您需要使用 InnoDB 。因此请确保。
要回答您的问题,回滚中的'b'是大写的'B'。
Change => DB::rollback();
To = > DB::rollBack();
可以。