You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel删除操作跳转至show页面而非执行destroy问题求助

问题解决:点击删除按钮跳转到Show页面而非执行Destroy方法

问题原因

HTML表单默认使用GET请求方法,而Laravel资源路由中,GET /products/{product}对应show方法,DELETE /products/{product}才对应destroy方法。你虽然添加了@method('DELETE')(Laravel的请求方法伪造),但未给删除表单指定method="POST",导致请求仍以GET方式发送,最终匹配到show路由。

修复方案

修改删除表单,添加method="POST"属性:

<td><form class="delete" action="{{ route('products.destroy',$product->id) }}" method="POST">
  @csrf
  @method('DELETE')
  <button>Delete</button>
</form></td>

额外说明

  • 用<a>标签无效是因为<a>默认发送GET请求,同样会匹配show路由,无法触发destroy方法。
  • 如果之前执行过php artisan route:cache,建议执行php artisan route:clear清除路由缓存,确保配置生效。
  • 手动删除数据库数据正常,说明模型与数据库关联无问题,仅请求方法匹配出错。

内容的提问来源于stack exchange,提问作者Pranav Sompura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 11:57:21