在laravel 5中编写代码的更好方法是什么?*

时间:2017-10-10 10:27:39

标签: php laravel eloquent

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
    ];

1 个答案:

答案 0 :(得分:0)

只有当您有一组必须完全执行的查询时才需要Tranasaction。

例如 - 如果在银行中,如果A将资金转移到B,那么两个帐户都将被更改,A的帐户将被扣除金额,而B的帐户中将添加。因此,如果任何任务失败,系统就会出现问题。

因此,我们在这种情况下使用交易。意图一起执行的查询集保留为事务。如果任何查询失败,则将回滚另一个查询。

您可以在互联网上阅读更多内容。

因此,如果您正在执行单个查询,则无需进行事务处理。第二种方法会很好。