首页 文章

Laravel动态路线

提问于
浏览
1

我在我的数据库中有表格,其中包含我的所有产品类别,例如,配件,书籍,玩具,等等......我需要在这些类别的基础上制作路线(我在主页中显示了一些类别,我做了链接使用localhost / public / CATEGORY_NAME url)所以,这是我的routes.php:

Route::get('/', 'HomeController@index');

我认为我要做的是捕获url中的第一个参数并将其路由到特定的控制器,例如ProductController @ index,我是laravel的新手,所以我不知道我怎么能这样做,任何想法?谢谢

我已经阅读了另一篇文章,我可以使用 Route::any 与正则表达式或类似的东西,但"any"包括根索引我是对的吗?

1 回答

  • 5

    你可以使用route参数处理这个东西,这基本上意味着将参数传递给控制器方法 .

    Route::get('{name}','CategoryController@show');
    

    然后在CategoryController中,您的方法show将必须接受一个参数 .

    public function show($name)
    {
        //find category by name
    }
    

    如果您将上述路线放在routes.php的顶部,它将使用/ 捕获所有路线,因此请确保将其放在其他路线下方 .

    或者您可以在URL中添加类别字,但这取决于您的要求 . 像这样的东西

    Route::get('category/{name}','CategoryController@show');
    

相关问题