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

Laravel购物车商品数量更新失败:无法触发控制器update方法

问题排查与修正

你的代码存在三个关键错误,导致无法触发控制器的update方法:

  1. 路由名称不匹配
    路由定义的名称是item.update,但表单中调用route()函数时用了错误的名称item-update,Laravel找不到对应的路由,自然无法跳转。

  2. HTTP请求方法不匹配
    路由使用的是patch方法,但表单里的@method('PUT')指定了PUT请求,两者不对应,Laravel的路由匹配会失败。

  3. 表单method属性错误
    HTML表单原生只支持GET和POST方法,所以表单的method属性必须设为POST,再通过@method指定实际的HTTP请求方法(这里是PATCH)。


修正后的代码:

路由(无需修改,保持原定义):

Route::patch('/item/{rowId}', [CartController::class, 'update'])->name('item.update');

表单代码:

<form action="{{ route('item.update', $items->rowId)}}" method="POST">
    @method('PATCH')
    @csrf
    <span>
        <button type="submit"><span style="color:blue">
         Mettre à jour le panier</span></button>
    </span>
</form>

控制器方法(无需修改,保持原定义):

public function update(Request $request, $rowId)
{
    // 在这里编写更新逻辑
}

内容的提问来源于stack exchange,提问作者MOHAMED KESSOUM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:09:55