在 Laravel 5.1 分页中使用漂亮的 URL

Posted

技术标签:

【中文标题】在 Laravel 5.1 分页中使用漂亮的 URL【英文标题】:Using pretty URLs with Laravel 5.1 Pagination 【发布时间】:2016-01-19 06:29:51 【问题描述】:

我正在使用 Laravel 5.1 框架编写一个网站,并试图弄清楚如何使用漂亮的 URL(pages/2 而不是 pages?page=2)。让我感到惊讶的是,他们没有包含可以轻松实现这一点的功能。

我也想知道,除非 Laravel 已经处理了这个问题,否则如何设置显示的链接数量限制。我只是想要<< 1 2 3 ... 657 658 659 >>,例如。

目前,我的代码如下:

public function index() // I can pass the $page = 1 here (1 being default)

    $pages = Page::whereNotNull('approved')->orderBy('created_at', 'desc')->paginate(5);
    return view('pages.index', ['pages' => $pages]);

在我看来,最后是!! $pages->render() !!。当然,这在使用 GET 变量方面非常有效。

我尝试创建一个扩展 BootstrapThreePresenter 的自定义演示者,但我不知道如何链接它,所以一切正常。

我赶紧补充一下,这个问题不是重复的,因为它适用于 Laravel 5.1 - 我看过的所有其他问题都适用于 Laravel 4.*。

【问题讨论】:

我很确定这会干扰资源路由,因为资源路由会认为 /pages/2 是 id 为 2 的页面。 @Rob 实际上,这很好。它不会影响我的特定应用程序,但最好避免以后可能导致问题的事情。 【参考方案1】:

不存在明确的解决方案,但有一些解决方法如下:Laravel pagination pretty URL 或者您可以检查是否有人为此创建了插件。

【讨论】:

我去看看。不过,正如我所说,该解决方案适用于 Laravel 4,但我会看看我是否能弄清楚。

以上是关于在 Laravel 5.1 分页中使用漂亮的 URL的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Laravel 4 在分页中传递额外的参数?

使用 JQUERY 和 AJAX 在 Laravel 分页中重新填充表数据

laravel 仅在分页中显示下一个和上一个链接

Laravel Livewire 在一页中进行多个分页

在 laravel 分页中添加一些数据

如何从 laravel 分页的第一页中删除查询字符串页面?