我的分页有点问题。我有两个包含数据库数据的表,我用laravel Paginator对其进行了分页。
现在我的问题是,当你进入,例如,第2页,它添加了什么?page=2,但这使得第一个表也转到第2页。
有没有办法得到这样的东西?
page_table1={number}
这样就不会在其他表上应用页面更改。
不幸的是,我现在无法测试这段代码,但是浏览文档和代码(在illumb/Pagination/Environment
中),我想你可以这样做:
# use default 'page' for this
$collection1 = Model::paginate(20);
# use custom 'other_page' for this
$collection2 = Model2::paginate(20);
$collection2->setPageName('other_page');
setPageName()
方法没有记录在文档中,但它是一个公共方法,与留档中指示的方法一起使用,因此它应该可以正常工作。参考,这是声明(l.171-180在供应商/laravel/框架/src/照明/分页/Environment.php
中):
/**
* Set the input page parameter name used by the paginator.
*
* @param string $pageName
* @return void
*/
public function setPageName($pageName)
{
$this->pageName = $pageName;
}
现在考虑一下,您将有另一个查询字符串附加到url,所以您需要告诉分页来考虑它。使用appends()
方法:
$collection1->appends(array_except(Request::query(), 'page'))->links();
$collection2->appends(array_except(Request::query(), 'other_page'))->links();
也就是说,告诉每个演示者使用所有查询字符串(由Request::query()
生成的数组,不使用分页器使用的当前索引,否则将得到一个双值)来构建urlarray_except()
是一个内置的Laravel数组助手,它返回给定的数组(第一个参数),清除传递的索引(第二个参数)。
我会尽快测试这段代码,但应该可以。无论如何都要告诉我!
这是我在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();
$publishedArticles = Article::paginate(10, ['*'], 'published');
$unpublishedArticles = Article::paginate(10, ['*'], 'unpublished');
第三个参数的用法如下:
laravel/公共/文章?发表=3
laravel/公共/文章?未发表=1
问题内容: 我的分页有麻烦。我有两个包含来自数据库的数据的表,并使用laravel Paginator对它进行了分页。 现在我的问题是,当您转到第2页时,它添加了?page = 2,但这也使第一个表也转到了第2页。 反正有得到这样的东西吗? 因此您不会在其他表格上应用页面更改。 问题答案: 不幸的是,我现在无法测试此代码,但是浏览文档和代码(在中),我想您可能会这样: 该方法未在文档中进行记录,但
Laravel-8.6.0(Jetstream),Livewire-2.2.7 除了其他东西,我有两个简单的表,搜索输入是用LiveWire呈现的。两个Livewire组件的逻辑基本相同,主要区别是DB查询格式。在一个表(搜索、分页)中,所有的工作都很完美,但在第二个表中,分页有问题。 怎么了?当我点击分页链接(例如,从第一页gotoPage(2)),请求被发送,浏览器中的url更改为适当的查询字
问题内容: 我正在使用shift31 / laravel-elasticsearch:〜1.0。我想在我的列表页面上实现分页。 搜索代码: 如何在上面的查询中使用分页? 更新: 我在查询中使用from和size,但是如何在视图页面中提供分页链接?以及如何通过单击页面进行更新? 问题答案: 在仓库中 我在控制器中设置了$ per_page和$ from 现在在视图{{!! $ admin_excep
简介 在大多数的框架中,分页无不令人十分头疼。 Laravel 的分页器与查询构造器、Eloquent ORM 集成在一起,并提供方便易用的数据结果集分页。分页器生成的 HTML 与 Bootstrap CSS 框架 兼容。 基本用法 查询构造器分页 对数据进行分页有几种方式。 最简单的是在 查询语句构造器 或者 Eloquent 语句 使用 paginate 方法。 paginate 会根据用户
加载页面视图时,将对函数AjaxProductList()启动一个ajax调用; 当我点击分页中的任何一个链接时,它会成功地处理数据,但不会更新活动链接。即,如果我点击第5页,它将获取正确的数据,但活动链接将仍然在第1页。 请告诉我,我是否做错了什么? 提前道谢。
问题内容: 有没有办法在Laravel 4中获得漂亮的分页URL? 例如,默认情况下: 我想得到的是: 同样,分页应以这种方式呈现,并且添加到分页应以这种方式出现。 问题答案: 这是一个骇人的解决方法。我正在使用Laravel v4.1.23。假设页码是您网址的最后一位。还没有进行深入的测试,因此我对人们可以找到的任何bug感兴趣。我对更好的解决方案更感兴趣:-) 路线: 视图: 模型: 移民: