我的数据库中有一个表格,其中包含我的所有产品类别,例如,配件,书籍,玩具等等。我需要在这些类别的基础上制作路线(我在主页中显示了一些类别和我与localhost / public / CATEGORY_NAME网址建立了链接)所以,这是我的routes.php:
Route::get('/', 'HomeController@index');
我认为我要做的是抓住网址中的第一个参数并将其路由到特定的控制器,例如ProductController @ index,我是laravel的新手,所以我不知道我该怎么办那,任何想法?感谢
我已经在另一篇文章中读到了我可以将Route::any
与正则表达式或类似的东西一起使用,但是"任何"包括我正确的根索引?
答案 0 :(得分:5)
你可以使用route参数处理这个东西,这基本上意味着将参数传递给控制器方法。
Route::get('{name}','CategoryController@show');
然后在CategoryController中,你的方法show必须接受一个参数。
public function show($name)
{
//find category by name
}
如果您将上述路线放在routes.php的顶部,它将使用/ {anything}捕获所有路线,因此请确保将其放在其他路线下方。
或者您可以在网址中添加类别字,但这取决于您的要求。像这样的东西
Route::get('category/{name}','CategoryController@show');