2015-09-25 90 views
2

如何通過Zend Pagintor檢索通過count()找到的項目總數,而不是頁數? 電流試驗想出這個近似爲最接近的不操縱DBSelect計數方法:zf2分頁程序總數

$totalCount = $pagintor->count() * $paginator->getItemCountPerPage(); 

我的問題涉及到使用的分頁程序得到的記錄總數計數()過程。

我已經看到了這一點:Zend Framework 2 - Pagination 和閱讀這些文檔 http://framework.zend.com/manual/current/en/modules/zend.paginator.advanced.html

http://framework.zend.com/manual/current/en/modules/zend.paginator.usage.html

我們是定製計數分頁對象()方法只是爲了獲得數按最後一個環節?

class MyDbSelect extends Zend\Paginator\Adapter\DbSelect 
{ 
    public function count() 
    { 
     $select = new Zend\Db\Sql\Select(); 
     $select->from('item_counts')->columns(array('c'=>'post_count')); 

     $statement = $this->sql->prepareStatementForSqlObject($select); 
     $result = $statement->execute(); 
     $row  = $result->current(); 
     $this->rowCount = $row['c']; 

     return $this->rowCount; 
    } 
} 

$adapter = new MyDbSelect($query, $adapter); 
$paginator = new Zend\Paginator\Paginator($adapter); 

也許我錯過了什麼(可能是真實的...),但由於分頁對象已經去編譯「計數」爲什麼/我們怎麼能沒有做任何其他的障礙訪問這個號碼的麻煩或障礙課程... 是否有一個$ paginator-> getTotalCount()方法來訪問此變量...

最終結果可能是'總共4536總共20個記錄',其中4536總。

非常感謝提前。

ENV:ZF 2.3.9(不2.4 +)

回答

11

聽起來好像要totalItemCount。

$paginator->getTotalItemCount(); 
+0

謝謝你看起來就是這樣......我找不到它......至少現在我永遠不會忘記它! –