带特定参数的Laravel路由控制器动作


Laravel route controller action with specific param

我想用一个特定的参数创建一个到控制器动作的路由。这是我目前得到的:

Route::get('faq', array("as"=>"faq","uses"=>"SiteController@showPage"));

我想要的是像

Route::get('faq', array("as"=>"faq","uses"=>"SiteController@showPage","params"=>"faq"));

对应的控制器动作如下

public function showPage($type) {
        $page = Page::where("type", "=", $type)->first();
        return View::make("pages.page")
            ->with("title", $page->title)
            ->with("page", $page);
    } 

页面保存在数据库中,所以我试图只使用一个函数,并使用不同的参数调用它。

任何想法?我不想这样解析

Route::get('page/{type}', array("as"=>"faq","uses"=>"SiteController@showPage"));

否则url看起来就像/page/agb.

我想你想要的是这个:

Route::get("/{type}", array("as" => "showPage", "uses" => "SiteController@showPage"));

…只要确保将该路由定义在你不想由SiteController@showPage处理的其他更具体的路由之后。