2017-03-15 109 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