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

Laravel 5.5更新表单值时出现store方法不存在错误

解决表单提交触发store方法不存在的问题

这个报错的原因很清晰:你通过Route::resource定义了资源路由,但当前表单的提交方式和URL匹配到了资源路由里的store方法(POST请求到/administrator/myprofile),可你的控制器只实现了update方法,并没有store方法,所以才抛出了这个错误。

你要实现的是更新操作,对应资源路由里的update方法,它的匹配规则是:

  • HTTP请求方法:PUT/PATCH
  • 请求URL:/administrator/myprofile/{id}(必须带上要更新的记录ID)

所以你需要修改blade模板里的表单代码,指定正确的请求方法和URL:

方案1:直接指定URL与请求方法

{{ Form::open([
    'url' => 'administrator/myprofile/' . auth()->user()->id, // 替换为实际要更新的用户ID,比如当前登录用户ID
    'method' => 'PUT',
    'class'=>'form-horizontal'
]) }}
// 你的表单字段内容
{{ Form::close() }}

方案2:使用命名路由更优雅(推荐)

资源路由会自动生成命名路由,update方法对应的路由名称是myprofile.update,可以结合路由助手函数生成URL,避免硬编码:

{{ Form::open([
    'route' => ['myprofile.update', auth()->user()->id], // 第二个参数传入要更新的记录ID
    'method' => 'PUT',
    'class'=>'form-horizontal'
]) }}
// 你的表单字段内容
{{ Form::close() }}

修改完成后,表单提交就会触发MyProfileController里的update方法,而不会再去找不存在的store方法了。

内容的提问来源于stack exchange,提问作者Niladri Banerjee - Uttarpara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:33:58