2016-08-18 91 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

但是param不是可選的,點擊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 
} 

我不說這是做到這一點的最佳方式,但它確實有效。