【问题标题】:How to get Route URL param in Controller | Laravel如何在控制器中获取路由 URL 参数 |拉拉维尔
【发布时间】:2017-03-15 22:09:01
【问题描述】:

我有以下路线:

Route::get('/category/{category}/keyword/{keyword}', 'CategoryController@search');

在我的控制器中,我尝试使用以下代码检索两个 URL 参数:

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

上面的代码没有返回参数的值。

如果我调用以下代码,我会得到值:

$request->category

谁能告诉我我做错了什么?

谢谢!

【问题讨论】:

  • 你没有做错什么。 $request->all() 将返回一个表单数据数组(POST)

标签: php laravel laravel-5.4


【解决方案1】:

试试这个:

 public function search($category, $keyword)

或者这个:

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

如果你需要 Request 对象。

路由参数是在函数调用中注入的,它们不在请求输入中。

【讨论】:

  • 我认为任何注入的依赖项(如请求)都必须在任何段变量之后。 public function search($category, $keyword, Request $request)
  • 对我来说,它在第一位置使用注入请求
  • 另外,laravel 文档将注入的请求放在路由参数的首位,请参见此处的“依赖注入和路由参数”段落:laravel.com/docs/5.4/requests
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 2017-03-16
  • 2012-03-05
  • 1970-01-01
相关资源
最近更新 更多