Zend Paginator - 如何获得paginator中的第一个元素?

时间:2012-01-11 10:52:53

标签: php zend-framework zend-paginator

我有一个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来获得此效果?

3 个答案:

答案 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)给我正确的结果