[英]Laravel - Check query execution after attach() and detach()
我执行这个之后
$shop->articles()->attach($article_id);
或这个
$shop->articles()->detach($article_id);
我如何确保它们真正被执行? 在第一种情况下,它返回void,但它也会自动保存,因此我无法使用save函数进行检查。 在第二种情况下,它返回int,但是它代表什么呢?
您可以使用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()));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.