Laravel 在一页中进行多分页

2022-08-30 11:23:16

我在分页时遇到了一些问题。我有两个表,其中包含来自数据库的数据,我使用laravel Paginator对其进行了分页。

现在我的问题是,例如,当你转到第2页时,它会添加?page=2,但这会使第一个表也转到第2页。

无论如何都会得到这样的东西吗?

page_table1={number}&page_table2={number}

因此,您不会在其他表上应用页面更改。


答案 1
$publishedArticles = Article::paginate(10, ['*'], 'published');
$unpublishedArticles = Article::paginate(10, ['*'], 'unpublished');

第三个参数的用法如下:

laravel/public/articles?publish=3

laravel/public/articles?unpublished=1


答案 2

这是我在Laravel 4上找到的一个简单的解决方案。

控制器

在创建分页器之前更改页面名称:

Paginator::setPageName('page_a');
$collection_A = ModelA::paginate(10);

Paginator::setPageName('page_b');
$collection_B = ModelB::paginate(10);

视图

执行相同的操作:在打印链接之前更改页面名称

Paginator::setPageName('page_a');
$collection_A->links();

Paginator::setPageName('page_b');
$collection_B->links();

如果不想在导航到另一个页面时丢失任何页面状态,请将所有集合中的当前页面追加到链接中:

Paginator::setPageName('page_a');
$collection_A->appends('page_b', Input::get('page_b',1))->links();

Paginator::setPageName('page_b');
$collection_B->appends('page_a', Input::get('page_a',1))->links();

推荐