2012-11-11 140 views
0

这可能是一个非常简单的路线。Laravel路线属性功能

我有一个索引函数,它可以根据传递给它的可选参数列出所有内容或特定项目。

我对控制器这条路线:

Route::controller('movies/(:any)'); 

我想它重定向到与位置参数的影片索引功能。 我不希望人们必须键入: www.site.com/movies/index/2 而是 www.site.com/movies/2

我已经尝试了问号任何阵列中'关闭'功能(我认为这是正确的术语),以便我重定向。

封闭的尝试是这样的:

Route::controller('movies/(:any?)',function($id){ 
    return Redirect::to("movie/index/$id"); 
}); 

这给了我一个404错误。 我在做对吧?

回答

1

你不想在你的路线上弄虚作假,让控制器决定做什么。

路线:

Route::get('movies/(:any)', '[email protected]'); 

控制器:

class Movies_Controller extends Base_Controller { 

    public $restful = true; // i have this line on my Base_Controller 

    function get_index($id = null) 
    { 
     if(! is_null($id)) 
     { 
      // return the movie 
     } 

     // return all movies 
    } 
} 
+0

的那一个。没意识到你可以这样路线。也不是你必须将RESTful声明为true。谢谢你的帮助。 – jaget

+0

@jaget if(:any)does not for you,try(:any?) – afarazit