无法按路线名称找到Laravel路线

lkaoscv7  于 2022-12-05  发布在  其他
关注(0)|答案(2)|浏览(136)

这是我的路线

Route::namespace("Core\Controller\Site")
        ->prefix("/")
        ->name("site.")
        ->group(function () {
 Route::get("{slug}", "NewsController@index")->name("news.index");
            Route::get("show/{slug}", "NewsController@show")->name("news.show");
            Route::get("{slug}", "ArticleController@index")->name("article.index");
            Route::get("show/{slug}", "ArticleController@show")->name("article.show");
            Route::get("{slug}", "VideoController@index")->name("video.index");       
});

这是我的a href,我使用了这条路线

<a href="{{ route('site.news.show', $item->slug) }}"></a>

它给出这种错误

Route [site.news.show] not defined.
xbp102n0

xbp102n01#

您正在使用相同的路由路径(show/{slug} and {slug}),不同的路由名称使用相同的方法。我认为它们会相互覆盖。请尝试使用不同的路由路径。

q8l4jmvw

q8l4jmvw2#

更改路由的名称,它将工作。
show_news and show_article

Route::namespace("Core\Controller\Site")
        ->prefix("/")
        ->name("site.")
        ->group(function () {
 Route::get("{slug}", "NewsController@index")->name("news.index");
            Route::get("show_news/{slug}", "NewsController@show")->name("news.show");
            Route::get("{slug}", "ArticleController@index")->name("article.index");
            Route::get("show_article/{slug}", "ArticleController@show")->name("article.show");
            Route::get("{slug}", "VideoController@index")->name("video.index");       
});

相关问题