如何解决Laravel API - 如果产品被订购,试图禁止管理员删除产品
正如标题所说,我正在尝试确定该产品是否未订购,否则管理员可以删除该产品。它似乎有效,但我认为我没有以正确的方式处理它,因为控制台返回错误 500。
这是我在ProductController中的销毁函数:
public function destroy(Product $product)
{
$ordersLink = $product->orders()->where('orders.product_id',$product->id)->exists();
if(!$ordersLink) {
$status = $product->delete();
}
return response()->json([
'status' => $status,'message' => $status ? 'Product removed' : 'Product not removed'
]);
}
任何帮助将不胜感激!干杯
解决方法
用以下代码替换代码:
public function destroy(Product $product)
{
$status = false;
$ordersLink = $product->orders()->exists();
if(!$ordersLink) {
$status = $product->delete();
}
return response()->json([
'status' => $status,'message' => $status ? 'Product removed' : 'Product not removed'
]);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。