【问题标题】:Removing query string from laravel url in pagination从分页中的laravel url中删除查询字符串
【发布时间】:2020-04-20 20:42:29
【问题描述】:

我正在使用 laravel 分页对我的产品进行分页默认情况下它给了我这样的网址

http://example.test/search?page=3

但我想要一些像

http://example.test/search/page/3

如果可能的话

http://example.test/search

每一页

这就是我现在的做法,但它没有给我任何结果

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

我也试过这样

$books = Book::paginate(10);
$books->withPath('/search');

但还是没有结果

【问题讨论】:

  • 这能回答你的问题吗? Laravel pagination pretty URL
  • 作为 laravel 分页创建查询字符串 ``` ?page=3 ``` 如果你想使用 /page/1 那么你需要为此创建路由并手动处理你的分页跨度>
  • 你能详细解释一下吗?

标签: laravel pagination


【解决方案1】:

您可以使用它来生成自定义链接,您可以在 Blade.php 中使用 link()。

@php
    $links = $books->links();
    $pattern = $replacement = array();
    $pattern[] = '/'.$books->getCurrentPage().'\?page=/';
    $replacement[] = '';
    $customLinks =  preg_replace($pattern, $replacement, $links);
    echo $customLinks;
@endphp

您还可以使用来自 github 中 spatie 的名为 laravel-paginateroute 的包。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-02-02
  • 1970-01-01
  • 2017-08-04
  • 2016-07-22
  • 2011-03-28
  • 2011-02-26
相关资源
最近更新 更多