DB::beginTransaction();
try{
$product = Product::create($request->all());
DB::commit();
return [
'product' => $product
];
}catch (\Exception $e)
{
DB::rollBack();
throw new ResourceException($e->getMessage());
}
是否需要启动事务,如果一切正常则返回产品或回滚如果有问题?或者这段代码就足够了:
$product = Product::create($request->all());
return [
'product' => $product
];
答案 0 :(得分:0)
只有当您有一组必须完全执行的查询时才需要Tranasaction。
例如 - 如果在银行中,如果A将资金转移到B,那么两个帐户都将被更改,A的帐户将被扣除金额,而B的帐户中将添加。因此,如果任何任务失败,系统就会出现问题。
因此,我们在这种情况下使用交易。意图一起执行的查询集保留为事务。如果任何查询失败,则将回滚另一个查询。
您可以在互联网上阅读更多内容。
因此,如果您正在执行单个查询,则无需进行事务处理。第二种方法会很好。