2017-03-15 161 views
0

我有以下途徑:如何在Controller |中獲取路由URL參數Laravel

Route::get('/category/{category}/keyword/{keyword}', '[email protected]'); 

在我的控制,我想找回這兩個網址參數使用下面的代碼:

public function search(Request $request) 
{ 
    $request->all(); 
    ... 
} 

上面的代碼不返回的值參數。

如果我把下面的代碼,我得到的值:

$request->category 

有人能告訴我什麼我做錯了嗎?

謝謝!如果您需要Request對象

public function search(Request $request, $category, $keyword) 

+0

你沒有做錯任何事情。 '$ request-> all()'將返回一個表單數據數組(POST) – Jono20201

回答

1

試試這個:

public function search($category, $keyword) 

或本。

路由參數在funcion調用中被注入,它們不在請求輸入中。

+0

我認爲任何注入的依賴性(如Request)必須位於任何段變量之後。 '公共函數搜索($ category,$ keyword,Request $ request)' – Jono20201

+0

對我來說,它的工作是將注入請求放在第一位 – dparoli

+0

另外,laravel docs將注入請求放在第一個位置,包含路由參數,請參見「依賴項注入和路由參數「:https://laravel.com/docs/5.4/requests – dparoli