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

Laravel 9中如何带参数重定向到命名路由?

问题分析与解决建议

你这段代码的核心问题是循环重定向:路由/post/{id}指定调用postController的show方法,而show方法又直接重定向回这个路由,导致请求无限循环,自然无法正常运行。

修正方案(以显示帖子内容为例)

如果你的需求是展示对应ID的帖子内容,应该查询数据后返回视图,而不是重定向:

修正后的控制器代码

public function show($id){
    // 假设帖子模型为Post,根据ID查询数据(找不到则返回404)
    $post = \App\Models\Post::findOrFail($id);
    
    // 返回视图并传递帖子数据
    return view('post.show', compact('post'));
}

路由代码保持不变

Route::get('/post/{id}', [postController::class, 'show'])->name('post');

额外注意事项

  • 控制器类名建议遵循Laravel规范使用大驼峰格式(比如PostController而非postController),避免类自动加载出错
  • 若确实需要重定向,务必确保目标路由不是当前触发show方法的路由,杜绝循环问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:25:18