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

Laravel创建新文章后跳转对应页面报ArgumentCountError如何解决

问题修复方案

错误根因

你定义的ArticlesController的store方法多声明了一个不必要的$id参数:

  • Laravel资源路由的store动作对应的URI是/articles,没有路由参数,调用控制器方法时只会传入Request这1个参数
  • 新文章还未创建时不存在ID,你想获取的新文章ID只能在执行创建操作后从返回的模型实例中获取

修复步骤

直接修改ArticlesController中的store方法即可,修改后代码如下:

public function store(Request $request) {
    $content = $request->validate([
        'title' => 'required|max:30',
        'content' => 'required|min:10'
    ]);
    
    //限制只有透过登入才能CREATE文章,接收创建后返回的新文章实例
    $article = auth()->user()->articles()->create($content);
    // 从新文章实例中获取ID实现跳转
    return redirect('articles/'. $article->id)->with('notice', '文章發表成功!');
}

修改后无需调整路由或表单代码,直接运行即可实现创建文章后跳转至对应详情页的需求。

可选优化:跳转时推荐使用路由名生成链接,后续如果调整路由规则不用改控制器代码,写法如下:

return redirect()->route('articles.show', $article)->with('notice', '文章發表成功!');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:48:01