繁体   English   中英

Laravel动态路线问题

[英]Laravel dynamic routes issue

我尝试在Laravel中使用嵌套类别和单个项目构建类似于电子商务的路由,效果很好,但有很大的例外。

这是我的路线文件的重要部分:

Route::get('/', 'PageController@home')->name('Home');
Route::get('/{category}', 'PageController@show')->where('category', '.+')->name('Category');
Route::get('/{slug}/{item_id?}', 'ItemController@show')->name('Item');

如您所见,类别和项目的逻辑在两个不同的控制器中分开。

类别事物在这些网址格式(例如www.page.com/categorywww.page.com/category/subcategory甚至www.page.com/category/subcategory/subsubcategory

但是,当我尝试使用www.page.com/item-slugwww.page.com/item-slug/12345调用项目时,脚本始终使用类别路由。

在我的项目模型中,我也确实覆盖了路由键名称:

...
public function getRouteKeyName()
{
    return 'slug';
}

...但是没有成功。

希望您可以帮助我,或者您曾经遇到过类似的问题。

您现在正在使用的真正糟糕的方法。 出于多种原因,您最好对每条路由都使用前缀(可以用google搜索)。 例如,

 Route::get('/', 'PageController@home')->name('Home');
 Route::get('/categoryPrefix/{category}', 'PageController@show')>where('category', '.+')->name('Category');
 Route::get('/itmPrefix/{slug}/{item_id?}', 'ItemController@show')->name('Item');

并使用定义的前缀访问这些路由。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM