2012-01-11 2 views
6

У меня есть объект paginator zend, я хочу получить первый элемент в этом paginator.Zend Paginator - Как получить первый элемент в paginator?

Я пробовал $paginator->getItem(0), но он возвращает сообщение: Message: Cannot seek to 0 which is below the offset 2. И $ paginator-> Количество() является 19.

я могу добиться этого с помощью Еогеасп:

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

Как я могу получить это, не используя Еогеасп?

ответ

5

Это даст вам первый элемент без использования Еогеаспа:

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

меня извините, но я подоконник не знаю, как использовать первый предмет таким образом? – hungneox

+0

'$ first' и' $ firstCurrent' должны иметь то же значение, что и '$ item' в foreach. Если переменная '$ entry' из вашего foreach - это значение, которое вы пытаетесь получить, фрагмент, который я опубликовал, также должен сделать трюк. – Ilians

+0

dind't work dude :( – hungneox

0

Это будет подсчитывать количество дополнительных страниц в наборе строк:

$paginator->count(); 

Это будет подсчитать общее количество элементов в наборе строк:

$paginator->getTotalItemCount(); 

Если у вас есть более одной подстраницы, возможно, вам нужно использовать второй параметр в getItem(), который является частью дополнительной страницы?

$paginator->getItem(1, 1); 

КСТАТИ: getItem() не с нуля, поэтому первый элемент в наборе строк является getItem(1).

В моей подобной ситуации у меня есть 1 дополнительной страницы, и с помощью $paginator->getItem(1) дать мне правильный результат

0

Это должно быть

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