Laravel从请求实例获取路由参数

时间:2020-09-24 07:04:11

标签: laravel request

我有一条路线

Route::get('/category/{categorySlug}', 'CategoryController@showPage')->name('category.show');

是否可以从$ request实例获取categorySlug?我的意思是$ request-> get('categorySlug')因为我看不到那里的参数。

3 个答案:

答案 0 :(得分:2)

您可以使用请求中的路由获取参数:

 $request->route('parameter_name')

在这种情况下:

 $request->route('categorySlug')

,您可以将所有参数作为数组获取:

$request->route()->parameters

答案 1 :(得分:0)

您可以在如下方法中使用categorySlug

public function showPage($categorySlug){
    // use $categorySlug here
}

答案 2 :(得分:0)

  • Qutestion:是否可以从 categorySlug实例中获取$request?我的意思是$request->get('categorySlug')

  • 答案:是的,您可以$request->get表示您需要通过get这样的方法发送数据

example.com?getKey=getdata在这里,您可以通过getdata来获得$request->get('getKey')

结论

Route::get('/category', 'CategoryController@showPage')->name('category.show');

并通过example.com/category?categorySlug=slugdata发送子弹,它将起作用

否则,如果您想使用旧代码,例如

Route::get('/category/{categorySlug}', 'CategoryController@showPage')->name('category.show');

然后不需要传递任何get参数laravel可以处理categorySlug

public function showPage($categorySlug){ // you will get `categorySlug` as parameter
    // use $categorySlug here
}

或通过$request->route('categorySlug'),您也可以访问