2013-08-17 37 views
0

如何使用路由在url中傳遞多個可選參數?如何使用路由「user/{id?}/{fn?}」

http://example.com/user 
http://example.com/user/22 
http://example.com/user/25/disable 

Route::resource('users', '[email protected]', array('before'=>'auth')); 

Route::get('users/{id}', '[email protected]', array('before'=>'auth')); 
Route::post('users/{id}', '[email protected]', array('before'=>'auth')); 

Route::get('users/{id}/{pages}', '[email protected]', array('before'=>'auth')); 
Route::post('users/{id}/{pages}', '[email protected]', array('before'=>'auth')); 

回答

0

扭轉路線:

Route::get('users/{id}/{pages}', '[email protected]', array('before'=>'auth')); 
Route::post('users/{id}/{pages}', '[email protected]', array('before'=>'auth')); 

Route::get('users/{id}', '[email protected]', array('before'=>'auth')); 
Route::post('users/{id}', '[email protected]', array('before'=>'auth')); 

Route::resource('users', '[email protected]', array('before'=>'auth')); 

,否則 「http://example.com/user/25/disable」 會打路線::資源()第一,並配以/用戶第一

+0

我想使用類似'路線:: resource('user/{id?}/{pages?}',array('before'=>'auth'));'...將不同的參數放在一行中。可能嗎 ? – maan81

+0

您可能最好只是單獨定義每條路線 - 讓您必須更好地控制您的應用程序。看到這個博客:http://philsturgeon.co.uk/blog/2013/07/beware-the-route-to-evil – Laurence

+0

謝謝。我會考慮這一點。 – maan81