执行此
后$shop->articles()->attach($article_id);
或者
$shop->articles()->detach($article_id);
我如何确保他们真的被执行?在第一种情况下,它返回void,但它也会自动保存,所以我不能使用save函数来检查它。在第二种情况下,它返回int,但它代表什么?
答案 0 :(得分:0)
您可以使用try/catch
和DB::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()));
}