当 route/{id} 中的 {id} 不存在时显示 404

Show 404 when {id} in route/{id} doesn't exist

对于我正在构建的网站,我需要一个 blog/announcement 页面,该页面可以在单独的页面上显示各个公告。当显示部分正常工作时,我需要找到一种方法来在路线中的 {id} 不可用或不存在时显示 404。

目前显示的是没有来自控制器的任何数据的视图。下图就是一个例子。

路线:

我希望这是足够的信息,如果需要更多信息,我很乐意听到。

我认为当 id 不匹配时 'fail' 的最佳方法是使用 findOrFail

示例控制器代码:

public function announcement($id) {
    $announcement = Announcement::findOrFail($id);

    return('example.view', compact('announcement'));
}

还有楼上说的别名不能一样

使用 findOrFail on 获取控制器上的公告,如果没有找到具有给定 id 的实例,它将自动重定向到 404 页面。

$announcement = Announcement::findOrFail($id);