Laravel 在一页中进行多分页
2022-08-30 11:23:16
我在分页时遇到了一些问题。我有两个表,其中包含来自数据库的数据,我使用laravel Paginator对其进行了分页。
现在我的问题是,例如,当你转到第2页时,它会添加?page=2,但这会使第一个表也转到第2页。
无论如何都会得到这样的东西吗?
page_table1={number}&page_table2={number}
因此,您不会在其他表上应用页面更改。
我在分页时遇到了一些问题。我有两个表,其中包含来自数据库的数据,我使用laravel Paginator对其进行了分页。
现在我的问题是,例如,当你转到第2页时,它会添加?page=2,但这会使第一个表也转到第2页。
无论如何都会得到这样的东西吗?
page_table1={number}&page_table2={number}
因此,您不会在其他表上应用页面更改。
$publishedArticles = Article::paginate(10, ['*'], 'published');
$unpublishedArticles = Article::paginate(10, ['*'], 'unpublished');
第三个参数的用法如下:
laravel/public/articles?publish=3
laravel/public/articles?unpublished=1
这是我在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();