当前位置: 首页 > 面试题库 >

Laravel多页分页

颜功
2023-03-14
问题内容

我的分页有麻烦。我有两个包含来自数据库的数据的表,并使用laravel Paginator对它进行了分页。

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

反正有得到这样的东西吗?

page_table1={number}&page_table2={number}

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


问题答案:

不幸的是,我现在无法测试此代码,但是浏览文档和代码(在中Illuminate/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()方法未在文档中进行记录,但与文档中指示的方法一起是公共方法,因此应该可以正常工作。供参考,这是声明(位于171.180中vendor/laravel/framework/src/Illuminate/Pagination/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();

也就是说,告诉每个Presenter用所有查询字符串(Request::query() 没有
分页程序使用的当前索引所产生的数组,否则将得到一个double值)来构建url
array_except()是Laravel内置的数组助手,它返回从传递的索引(第二个参数)中清除的给定数组(第一个参数)。

我将尝试尽快测试此代码,但它应该可以工作。无论如何都要让我知道!



 类似资料:
  • 我的分页有点问题。我有两个包含数据库数据的表,我用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 会根据用户

  • 问题内容: 有没有办法在Laravel 4中获得漂亮的分页URL? 例如,默认情况下: 我想得到的是: 同样,分页应以这种方式呈现,并且添加到分页应以这种方式出现。 问题答案: 这是一个骇人的解决方法。我正在使用Laravel v4.1.23。假设页码是您网址的最后一位。还没有进行深入的测试,因此我对人们可以找到的任何bug感兴趣。我对更好的解决方案更感兴趣:-) 路线: 视图: 模型: 移民:

  • 我有两种型号: 用户 用户有很多帖子。帖子有很多评论,评论属于帖子。这很简单。 现在我想加载所有的帖子的认证用户与它的评论,如果帖子有评论今天创建。如果帖子今天没有评论,它将不会被加载。这些帖子也将被分页。如何建立查询在laravel雄辩? 我试过这样的方法: