如何在url route中设置默认值,以便在laravel 5.2中自由地生成url

时间:2016-12-03 18:41:05

标签: php laravel url routing

当参数为空或为null时,我需要使用laravel路由将默认值放在url中。我认为这样的事情(显然没有找到),但是你得到了我的想法。

Route::get('/filtro/{event_type?}-en-{location?}/{caption?}', [
    'uses' => 'ProviderController@filter',
    'as' => 'site_filter_path'
])->defaults([
    'event_type' => 'todos',
    'location' => 'argentina'
]);

所以当参数为空时,网址可能是mysite.com/filtro/todos-en-argentina /

1 个答案:

答案 0 :(得分:0)

制作两条路线。

在路线档案中:

Route::get('/filtro', 'ProviderController@filter')->named('filtro');
Route::get('/filtro/{event_type?}-en-{location?}/{caption?}', 'ProviderController@filter')->named('site_filter_path');

在ProviderController中:

public function filter($event_type = null, $location = null, $caption = null){
   if(!$event_type) $event_type = 'todos';
   If(!$location) $location = 'argentina';   
   //your code
}