【问题标题】:Show 404 when {id} in route/{id} doesn't exist当 route/{id} 中的 {id} 不存在时显示 404
【发布时间】:2019-09-02 22:10:41
【问题描述】:

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

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

路线:

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

【问题讨论】:

  • 您需要将问题中的代码作为文本而不是作为托管在其他地方的图片。

标签: laravel http-status-code-404 laravel-5.8


【解决方案1】:

我认为当 id 不匹配任何内容时“失败”的最佳方法是使用 findOrFail

示例控制器代码:

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

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

也如上面人所说,别名不能相同

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      相关资源
      最近更新 更多