嵌套路由隐式绑定 Laravel 返回 404

问题描述 投票:0回答:0

所以,这是我的代码。

web.php

Route::get(
    "/research/{research}/sub-research/{sub-research}", 
    function (Research $research, SubResearch $subResearch) {
        dd($research , $subResearch);
    }
)
    ->name("sub-research.show");

研究模型

public function subResearch()
{
    return $this->hasMany(SubResearch::class, "research_id", "id");
}

SubResearch.php 模型

public function research()
{
    return $this->belongsTo(Research::class);
}

我的问题是,当我访问路线时,我得到了404 page。 Laravel 的文档说:

当使用自定义键控隐式绑定作为嵌套路由参数时,Laravel 将自动将查询范围限定为由其父级使用约定来检索嵌套模型,以猜测父级上的关系名称。在这种情况下,假设

User
模型具有名为
posts
(路由参数名称的复数形式)的关系,可用于检索
Post
模型。

我怎么知道 laravel 猜测我的关系方法名称是什么?是否相同?或者这可能是其他问题?你怎么看?

php laravel routes model-binding nested-routes
© www.soinside.com 2019 - 2024. All rights reserved.