2016-08-18 2 views
0

У меня есть маршрут:Дополнительные параметры маршрута?

Route::get('/{slug?}', [ 
    'as' => 'my-controller', 
    'uses' => '[email protected]' 
]); 

Так что, когда я ударил:

my-domain.dev/some-slug 

Это работает, но я думал, что знак вопроса сделал пары по желанию? Я хотел бы также назвать индексный метод, когда домен просто:

my-domain.dev 
+1

Вопросительный знак делает необязательный параметр. https://laravel.com/docs/5.2/routing#parameters-optional-parameters – ofca

+0

Что вы подразумеваете под опцией, запрос все равно будет отправлен на одно действие контроллера? Вы хотите, чтобы он был перенаправлен другому контроллеру? –

+0

Но параметр не является необязательным, при этом удар my-domain.dev не загружает индекс MyController @. У меня нет других маршрутов. – panthro

ответ

0

Вы можете сделать это, как этот

Route::get('/', [ 
    'as' => 'my-controller', 
    'uses' => '[email protected]' 
]); 
Route::get('/{slug?}', [ 
    'as' => 'my-controller', 
    'uses' => '[email protected]' 
]); 

MyController:

public function index($slug = null) { 
    //do stuff if slug is not null 
} 

Я не говорю это лучший способ сделать это, но он действительно работает.

Смежные вопросы