代码之家  ›  专栏  ›  技术社区  ›  Pwned

为什么我的Laravel路由模型绑定返回404错误?

  •  0
  • Pwned  · 技术社区  · 2 年前

    我正在做一个Laravel项目,并使用路由模型绑定将模型实例自动注入到我的路由中。然而,我遇到了一个问题,即使模型返回404错误,一些路由也会返回404错误 数据库中存在实例。

    我在web.php文件中定义了一个路由,如下所示:

    Route::get('/posts/archived/{post}', [PostController::class, 'show']);
    PostController
    namespace App\Http\Controllers;
    
    use App\Models\Post;
    use Illuminate\Http\Request;
    
    class PostController extends Controller
    {
        public function show(Post $post)
        {
            return view('posts.show', compact('post'));
        }
    }
    

    尽管posts表中有记录,但当我导航到/posts/1或任何其他有效ID时,我会收到404错误。我已经确认数据库中存在这些记录

    1 回复  |  直到 2 年前
        1
  •  1
  •   Chief    2 年前

    检查你的路线。这是不正确的。你应该点击以下路径:/posts/archived/1

    或

    您应该在web.php中将原始路由更改为:/posts/{post}