【问题标题】:Remove Query Parameter from Laravel Scout Pagination Links()?从 Laravel Scout 分页链接()中删除查询参数?
【发布时间】:2019-02-01 05:00:28
【问题描述】:

我正在使用 Laravel Scout 在我的数据库中搜索对象,并且需要对结果进行分页,但 Scout 会自动在 url 中包含一个“查询”查询词,除了页码,而不仅仅是页面号码。

我正在使用 Scout 内置的分页功能,如下所示: $page_results = Page::search($validatedData['search_terms'])->paginate(10, 'page_results');

问题在于,我不仅将页码作为查询获取,而且还得到了另一个“查询”: http://192.168.10.10/wiki/search?query=a&page_results=2

因为我的路线是这样的: Route::post('/search', 'SearchController@search'); 它不期望该查询并将其发送到后备。

有没有办法从 Scout links() 中删除“查询”查询?理想情况下,我想要的是以下内容,因为通过使用不包含额外查询词的 Eloquent 分页,我可以很好地在其他页面上进行分页: http://192.168.10.10/wiki/search?page_results=2

任何帮助将不胜感激!

【问题讨论】:

  • 我认为这就是分页的工作方式。您需要在路由中将 POST 请求更改为 GET 请求。
  • 你找到解决方案了吗?

标签: php laravel laravel-5 laravel-pagination laravel-scout


【解决方案1】:

这应该可以解决问题...

$page_results->withPath('results');

Laravel Pagination

【讨论】:

    【解决方案2】:

    一种解决方案是通过在您的->paginate() 方法上调用->appends('query', null) 从查询字符串中删除query

    关于这个,github 上已经关闭了issue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-25
      • 2020-04-20
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 2020-06-11
      • 2022-01-14
      • 2017-08-04
      相关资源
      最近更新 更多