您要查找的页面未找到laravel 5.5

您要查找的页面未找到laravel 5.5,laravel,routes,Laravel,Routes,我得到了 很抱歉,找不到您要查找的页面 关于拉威尔5.5。我肯定我错过了一些很小的东西。但我不确定这是什么,因为我是一个拉威尔的学习者。请参阅下文: 路线 控制器 public function show(Curriculumsection $curriculumsection) { // $curriculum = Curriculum::findOrFail($curriculumsection->id); return view('curriculum-sec

我得到了

很抱歉,找不到您要查找的页面

关于拉威尔5.5。我肯定我错过了一些很小的东西。但我不确定这是什么,因为我是一个拉威尔的学习者。请参阅下文:

路线

控制器

public function show(Curriculumsection $curriculumsection)
{
    //
    $curriculum = Curriculum::findOrFail($curriculumsection->id);
    return view('curriculum-sections.show', ['curriculum'=>$curriculum]);
}
我还确保该页面存在于views文件夹中。在排除故障的同时,我还做了
php-artisan-route:list
,这就是我得到的

编辑: 我正在从以下位置访问错误:


我认为你不需要第一条路线。您只需定义Route::resource(…)即可。Laravel处理不同的请求


问题在于您的路线为模型
课程部分定义了
id
。您正在使用模型绑定,它将自动查询
课程节::findOrFail(route\u id)
(在您的示例中,route\u id为1)。然后使用相同的
id
查询模型
课程
,使用
->findOrFail(route\u id)

因此,为了使此路由返回404以外的任何内容,您必须在数据库中有一个id为1的
课程节
记录和一个id为1的
课程
记录

我不确定您的数据库是如何设置的,或者这两个模型是如何相互关联的,但肯定不是通过相同的
id
(否则,为什么不将所有数据放在同一个表中)

这样做更有意义(直接绑定
课程
模型):

这会将
课程
模型绑定到路由,并自动获取传递了
id的路由

或者类似于您的用例,但它假设您在
课程部分
模型上有一个名为
课程()
的工作关系:

public function show(Curriculumsection $curriculumsection)
{
    $curriculum = $curriculumsection->curriculum;
    return view('curriculum-sections.show', ['curriculum'=>$curriculum]);
}

您访问的URL是什么导致出现此错误?@LionelChan更新了问题您的URL中的ID在哪里?@JonasStaudenmeir我更新了问题。
public function show(Curriculum $curriculum)
{
    return view('curriculum-sections.show', ['curriculum'=>$curriculum]);
}
public function show(Curriculumsection $curriculumsection)
{
    $curriculum = $curriculumsection->curriculum;
    return view('curriculum-sections.show', ['curriculum'=>$curriculum]);
}