我有一个数组(从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)
这是一个错误还是我失败了?
答案 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();