Laravel - 最后可能包含分页/查询网址的路由 - 分页网址不会添加到查询网址,它会替换它

时间:2016-06-16 12:21:49

标签: php laravel pagination

所以我有一个产品页面,您可以浏览所有产品或浏览查询过的产品(如果您选择)。然而,在这两种情况下,他们必须有分页。这是我的路线:

Route::get('/products/{gender}/{subcategory_name}', [
    'uses' => 'ProductsController@showProducts',
    'as' => 'products'
]);

对于分页链接,我在视图中使用$model->links()。分页和查询都有效。当您决定查询项目时,您仍然必须对它们进行分页。但是当我点击进入第二页时,分页URL会删除我的查询网址。结果是丢失了查询的产品并进入第二页,但使用所有产品,而不是查询产品。这是一个逐步的演练,以澄清:

  1. 我在这个网址:产品/男士/ T恤
  2. 我点击了第二个分页链接,以便我可以访问此网址:"产品/男装/ T恤?page = 2" //此作品
  3. 我决定查询这些项目。以下是网址:"产品/男装/ T恤?颜色%5B%5D = 1" //这样可行。我查询产品并获得正确的分页链接。
  4. 现在问题就在于此。当我点击查询产品的第二个分页链接时,分页URL会删除我的查询网址,然后我会转到此链接" 产品/男士/ T恤?页面= 2 " 。现在我在所有的第二页上,而不是查询过的产品。我需要转到 QUERIED 产品的第二页。
  5. 欢迎提供解决方案和建议。提前谢谢!

1 个答案:

答案 0 :(得分:3)

您需要告诉Laravel将您自己的查询参数附加到links()方法,例如:

{{ $model->appends(['color' => Request::input('color')])->links() }}

要动态查询参数,您可以使用以下内容:

{{ $model->appends(Request::except('page'))->links() }}