Laravel 4 Custom Pagination

时间:2014-04-15 19:33:37

标签: php laravel pagination laravel-4

我有一个数组(从Json转换而来),我希望对它进行分页。我对Laravel来说相当新,而且文档通常很棒,但是在奇怪的场合他们缺少一点点。

我创建分页实例的代码是:

$plugin_return = Paginator::make($plugin, count($plugin), 20);

然而,当我@foreach超过它时,它会返回几千行而不是我想要的20行(并在上面的代码中说明。)

$plugin_return->count()返回int(9027)

我也尝试了$plugin_return->getItems(),它也返回了所有9027个元素。 $plugin_return->getPerPage()返回int(20)

这是一个错误还是我失败了?

2 个答案:

答案 0 :(得分:0)

请从这里阅读有关paginator的更多信息:http://culttt.com/2014/02/24/working-pagination-laravel-4/它有一个很好的例子,说明如何使用它。

基本上,当你遍历$ plugin_return时,paginator会返回你所有的$ plugins。正如你所说,你需要的是$plugin_return->getPerPage()并迭代它,它不是一个错误,它是Paginator的工作方式

通常你会拥有你的模型,例如插件模型,你会运行类似的东西:

Plugin::paginate(10);

基本上消除了用于定制的Paginator

在简单的Paginator上添加更多内容,您需要自己构建视图。 Look here for an example

在第一个链接中,作者通过覆盖getByPage来复制模型提供的功能。

答案 1 :(得分:0)

您是否尝试过这样做:

 $plugin_return = Paginator::make($plugin, count($plugin), 20);

 foreach($plugin_return->getCollection()->all() as $plugin)
      $plugin-> something;
 endforeach

 $plugin_return->links();