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

Laravel 8.1开发中Post表无法更新及posts.store路由报错问题

问题排查清单

1. 帖子数据无法写入数据库的核心原因

  • PostController@store 方法中,负责入库的Post::create()代码段目前被整段注释,请求校验通过后没有任何实际数据库操作,自然不会写入数据。
  • 即便取消注释,当前Post模型的$fillable批量赋值白名单仅包含body字段,缺失user_id字段,会触发Laravel批量赋值保护拦截,导致入库失败。需要在$fillable数组中补充user_id字段。

2. 提示posts.store路由未定义的原因

  • 你在web.php中仅给GET方式的/posts路由定义了posts别名,POST方式的/posts路由完全没有绑定别名。
  • 手动编写的路由不会自动遵循Laravel资源路由的命名规则,如果在表单提交地址里写route('posts.store'),系统找不到对应名称的路由就会抛出未定义错误。两种修复方式二选一即可:
    • 给POST路由补上对应别名:Route::post('/posts', [PostController::class, 'store'])->name('posts.store');
    • 把表单的路由引用改回已定义的route('posts')

3. 其他代码报错隐患

  • blade模板中的if判断多写了一个右括号:@if ($posts->count())),会触发模板语法解析错误,删掉多余的)即可。
  • 入库逻辑执行完成后,控制器没有编写重定向返回逻辑,提交成功后会出现无内容的空白页面,需要补充跳转代码:return redirect()->route('posts')->with('status', '帖子发布成功');
  • web.php中重复定义了两次GET方式的/login路由,属于冗余代码,可以删掉重复的那段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 07:15:03