我有一个zend paginator对象,我想获得这个paginator中的第一个元素。
我尝试了$paginator->getItem(0)
,但它返回了消息:Message: Cannot seek to 0 which is below the offset 2
。而$ paginator-> count()是19。
我可以通过使用foreach来实现这一目标:
foreach ($paginator as $item)
{
$entry = $item;
}
如何通过不使用foreach来获得此效果?
答案 0 :(得分:6)
这将为您提供不使用foreach的第一项:
$first = current($paginator->getItemsByPage(1)); // Get the first item
$firstCurrent = current($paginator->getCurrentItems()); // Get the first item of the current pages
答案 1 :(得分:1)
应该是
$paginator->getCurrentItems()->current();
答案 2 :(得分:0)
这将计算rowset中子页面的数量:
$paginator->count();
这将计算行集中的项目总数:
$paginator->getTotalItemCount();
如果您有超过1个子页面,可能需要在getItem()
中使用第二个参数,这是一个子页面的数量?
$paginator->getItem(1, 1);
BTW:getItem()
不是基于零的,因此行集中的第一个元素是getItem(1)
。
在我的类似情况下,我有1个子页面,使用$paginator->getItem(1)
给我正确的结果