我使用laravel 5.2和具有關於路由問題。假設我有這樣的路線:http://example.com/out/parameter1/parameter2/
Laravel選擇路線參數不工作
參數1應要求而參數2應該是可選的。當用戶輸入這個網址:http://example.com/out/parameter1/
或本http://example.com/out/parameter1/parameter2/
,他們應該能夠繼續進行。當輸入時,http://example.com/out/
他們將被重定向到主頁。
這裏是我的路線:
Route::get('out/{param1}/{param2?}', '[email protected]']);
Route::get('out/', '[email protected]']);
控制器:
public function out($param1, $param2 = '', Request $request) {
// logic here
}
是我得到的錯誤是這樣的: Argument 3 passed to App\Http\Controllers\MyController::out() must be an instance of Illuminate\Http\Request, none given
我已經指定param2
上的默認值方法。
檢查與您的路由器。改變路線::獲得( '出/ {參數1}/{參數}?', '@ myController的出']);到路線::得到( '輸出/ {參數1}/{參數2}', '@ myController的出']); –
@MansoorH,它不工作,因爲我得到一個404錯誤。另外,'param2'應該是可選的。 – basagabi
什麼可以第三個參數的可能值可以請你定義 –