繁体   English   中英

Laravel-在执行attach()和detach()之后检查查询执行

[英]Laravel - Check query execution after attach() and detach()

我执行这个之后

$shop->articles()->attach($article_id);

或这个

$shop->articles()->detach($article_id);

我如何确保它们真正被执行? 在第一种情况下,它返回void,但它也会自动保存,因此我无法使用save函数进行检查。 在第二种情况下,它返回int,但是它代表什么呢?

您可以使用try/catchDB::transaction/commit/rollback

try{
    \DB::transaction(function() use($shop, $article_id) {
        $shop->articles()->attach($article_id);
    });

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

    return redirect()->back()->withErrors(collect($e->getMessage()));
}

暂无
暂无

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

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