2012-01-11 91 views
6

我有一个zend paginator对象,我想获得这个paginator中的第一个元素。我试过$paginator->getItem(0),但它返回信息:Message: Cannot seek to 0 which is below the offset 2。和$ paginator->计数()是19Zend Paginator - 如何获取paginator中的第一个元素?

我可以使用的foreach实现这一点:

foreach ($paginator as $item) 
{ 
    $entry = $item; 
} 

我怎么能不使用的foreach得到这个?

回答

5

这会给你的第一个项目,而无需使用的foreach:

$paginator->count(); 

这将计数行集中的项目总数:

$first = current($paginator->getItemsByPage(1)); // Get the first item 
$firstCurrent = current($paginator->getCurrentItems()); // Get the first item of the current pages 
+0

原谅我,但我门坎不知道如何使用第一这样的项目? – hungneox 2012-01-12 01:50:32

+0

'$ first'和'$ firstCurrent'应该和'$ item'在foreach中的值相同。如果你的foreach中的'$ entry'变量是你试图获得的值,我发布的代码段也应该这样做。 – Ilians 2012-01-12 09:55:57

+0

dind't工作伙计:( – hungneox 2012-01-12 10:51:32

0

这将行集数子页面数:

$paginator->getTotalItemCount(); 

如果您有超过1个子页面,可能需要使用0123中的第二个参数,这是多少个子页面?

$paginator->getItem(1, 1); 

顺便说一句:getItem()不是基于零,在这样的行集第一元件是getItem(1)

在我类似的情况我有1个页面,并使用$paginator->getItem(1)给我正确的结果

0

应该

$paginator->getCurrentItems()->current();