【问题标题】:Multiple Laravel 5 Paginations within the same page同一页面内的多个 Laravel 5 分页
【发布时间】:2016-06-13 21:21:46
【问题描述】:

我有一个容器,我想用我的数据库中的项目填充它,假设每一行都有这些列:

$item->title
$item->description
$item->color
$item->id

我有一个main-container,我想在其中循环遍历我的所有项目,但一次只能循环 5 个。我知道我可以拥有所有这些,但我真的希望没有滚动。

我知道对于整个页面,您只需将->get(); 替换为->paginate(x);,其中x 是您希望每页显示的项目数。

但我也有一个secondary-container,我想在其中循环一堆其他项目,但我不知道如何实现第二个项目,因为当 url 扩展 ?page=x 时,main-container 会起作用其中 x 是迭代的第 n 个项目块。

我能否有一个自定义的get url 请求(不确定术语,如果我错了,请纠正我)并为我的secondary-container 执行类似?page2=x 的操作?

我搜索了 arround,但不太知道如何将我的问题变成一个小答案,结果没有帮助。提前谢谢你。

【问题讨论】:

  • 下面的答案有帮助吗?
  • 我睡着了,我很快就会试试你的,谢谢你的回答! @jszobody

标签: php laravel-5 pagination


【解决方案1】:

如果您查看paginate 方法:

https://github.com/laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Builder.php#L429

你看到它接受一个$pageName 变量,告诉它使用哪个请求变量。

所以你可以这样做:

MyModel::where(...)->paginate(20, ['*'], 'fooPage');

Laravel 将使用$request->fooPage 作为页面变量。

或者,您可以看到 paginate 方法还允许您将页面变量本身作为第四个参数显式传递:

MyModel::where(...)->paginate(20, ['*'], null, $request->myPageVar);

现在 GET 变量 ?myPageVar=1 将设置页面。

【讨论】:

  • 谢谢!完美工作:)
猜你喜欢
  • 2015-05-17
  • 2015-11-16
  • 2017-01-29
  • 1970-01-01
  • 2015-05-23
  • 1970-01-01
  • 2016-10-09
  • 2018-06-22
  • 1970-01-01
相关资源
最近更新 更多