我如何在laravel Redirect上保留我的$ _GET参数?

时间:2016-12-16 10:55:24

标签: php laravel redirect laravel-5

我尝试使用

重定向
  return redirect('/customer/' . $cust_id)->with('page',2);

我的路线是

 /customer/{id}

在客户页面中,我使用分页。

所以我需要重定向到相同的页面。

但是我怎么能通过" 重定向()"

传递我的获取参数

实际网址

 http://domain.com/customer/2?page=3   // page=>3

我需要将控件发送回同一页面。

有没有解决方案?

或者这是正确的接近方式吗?

3 个答案:

答案 0 :(得分:1)

您可以使用request()

获取参数
$page = request->has('page') ? '?page='.request()->page : '';

return redirect('/customer/'.$cust_id.$page);

但是如果您需要重定向回上一页,请使用:

return redirect()->back();

答案 1 :(得分:1)

您应该检查它是否已设置,否则不会使用该项重定向。

您的代码将是:

return redirect()->back();

或者通知您可以:

return redirect()->back()->with('message', 'This is my message!');

答案 2 :(得分:1)

如果您有多个GET个变量,每个重定向可能会有不同的变量,那么本机PHP函数http_build_query()可以很方便。

// check for GET variables and build query string
$get = count($_GET) ? ('?' . http_build_query($_GET)) : '';

// redirect
return redirect('/customer/'.$cust_id.$get));

我不使用Laravel,所以可能有更好的方法来做到这一点,但无论如何它似乎是一个干净的解决方案。