无法找到任何相关内容,但我确定它很简单。
我有一条路线需要复制4次,因为我使用网址来更改查询。
目前:
Route::get('/', function()
{
$builds = Blog::findBuilds();
return View::make('pages/home', compact('builds'));
});
我想做的是例如:
Route::get(array('/', '/trending', 'staff-picks'), function()
{
$builds = Blog::findBuilds();
return View::make('pages/home', compact('builds'));
});
但那当然不行。什么诀窍?
答案 0 :(得分:5)
正如Laravelian的回答所示,您可以而且应该使用动态路由参数。但是,如果你只是做
Route::get('{slug?}', function($slug = null){}
您将捕获每个请求(除了匹配在此之前定义的路由的请求)
要让更多控件使用正则表达式:
Route::get('{slug?}', function($slug = 'index')
{
$builds = Blog::findBuilds();
return View::make('pages/home', compact('builds'));
})->where('slug', '(trending|staff-picks)');
现在slug
必须是:没有(因为它是可选参数{...?}
)trending
或staff-picks
答案 1 :(得分:0)
Route::get('/{slug}', function($slug = null) {
$builds = Blog::findBuilds($slug);
return View::make('pages/home', compact('builds'));
});
你最好把这个功能放在一个控制器中,并以这种方式传递:
Route::get('/{slug}', 'BlogController@getSlug');
Route::get('/', 'BlogController@getSlug');