讨论数量:
参考社区文档-数据库事务那里最下面的Tip说明
在这里说明一下:
DB
Facade提供的事务是支持Eloquent 的事务的- 使用事务只需要调用
DB
Facade的DB::transaction()
或是DB::beginTransaction()
+DB::commit()
+DB::rollback()
即可
** 示例 **
DB::transaction(function ()
{
Model::find(1)->update([
$key1 => $value1,
$key2 => $value2,
$key3 => $value3,
]);
});
DB::beginTransaction();
try {
Model::find(1)->update([
$key1 => $value1,
$key2 => $value2,
$key3 => $value3,
]);
DB::commit();
} catch (Exception $e) {
DB::rollback();
throw $e; //将exception继续抛出 生产环境可以修改为报错后的操作
}
上述两种实现方式等价
推荐文章: