Paginator/Adapter/DbSelect.php
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.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Paginator
- Version
- $Id$
\Zend_Paginator_Adapter_DbSelect
Package: Zend_Paginator




Returns
Throws
- Implements
- Children
- \Zend_Paginator_Adapter_DbTableSelect
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
Properties

string $_cacheIdentifier = nullIdentifies this adapter for caching purposes. This value will remain constant for
the entire life of this adapter regardless of how many different pages are queried.
Default value
nullDetails- Type
- string
Methods

__construct(\Zend_Db_Select $select) : voidConstructor.
Parameters
| Name | Type | Description |
|---|---|---|
| $select | \Zend_Db_Select | The select query |

getCountSelect() : \Zend_Db_SelectGet 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.
Returns| Type | Description |
|---|---|
| \Zend_Db_Select |

getItems(integer $offset, integer $itemCountPerPage) : arrayReturns an array of items for a page.
Parameters
Returns
| Name | Type | Description |
|---|---|---|
| $offset | integer | Page offset |
| $itemCountPerPage | integer | Number of items per page |
| Type | Description |
|---|---|
| array |

setRowCount( $rowCount) : \Zend_Paginator_Adapter_DbSelectSets 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.
Parameters| Name | Type | Description |
|---|---|---|
| $rowCount |
| Type | Description |
|---|---|
| \Zend_Paginator_Adapter_DbSelect | $this |
| Exception | Description |
|---|---|
| \Zend_Paginator_Exception |