繁体   English   中英

Laravel 4 DB事务未提交和回滚

[英]Laravel 4 DB transactions not committing and rollbacking

我正在使用laravel 4并尝试使用commit和rollback函数 但是功能对我不起作用。

我正在关注laravel文档( https://laravel.com/docs/4.2/database#database-transactions ),但仍无法正常工作。

这是我的代码:

DB::transaction(function() use ($product)
 {
     DB::table('products')->insert($product);           
     DB::rollBack();
 });

它在产品表中创建新条目。 这是错误的。

在您的示例中,只有在出现异常时,事务才会回滚。

注意:事务关闭中引发的任何异常都将导致事务自动回滚。

您必须使用DB::beginTransaction()手动开始事务,并使用DB::rollback()DB::commit()

也可以在try catch语句中执行此操作。

try {
    DB::beginTransaction();

    // Do something

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM