Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
string ROW_COUNT_COLUMN = 'zend_paginator_row_count'
Name of the row count column
Zend_Db_Select $_countSelect = 'null'
The COUNT query
integer $_rowCount = 'null'
Total item count
Zend_Db_Select $_select = 'null'
Database query
__construct(
Zend_Db_Select $select
)
:
Constructor.
count(
)
:
integer
Returns the total number of rows in the result set.
getCountSelect(
)
:
Zend_Db_Select
Get the COUNT select object for the provided query
TODO: Have a look at queries that have both GROUP BY and DISTINCT specified. In that use-case I'm expecting problems when either GROUP BY or DISTINCT has one column.
getItems(
integer $offset, integer $itemCountPerPage
)
:
array
Returns an array of items for a page.
setRowCount(
$rowCount
)
:
Zend_Paginator_Adapter_DbSelect
Sets the total row count, either directly or through a supplied query. Without setting this, {@link getPages()} selects the count as a subquery (SELECT COUNT ... FROM (SELECT ...)). While this yields an accurate count even with queries containing clauses like LIMIT, it can be slow in some circumstances. For example, in MySQL, subqueries are generally slow when using the InnoDB storage engine.
Users are therefore encouraged to profile their queries to find the solution that best meets their needs.