Paginator/Adapter/DbTableSelect.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 [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Paginator
- Version
- $Id: DbTableSelect.php 24593 2012-01-05 20:35:02Z matthew $
\Zend_Paginator_Adapter_DbTableSelect
- Parent(s)
- \Zend_Paginator_Adapter_DbSelect
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants
string
ROW_COUNT_COLUMN
= 'zend_paginator_row_count'Name of the row count column
Inherited from: \Zend_Paginator_Adapter_DbSelect::ROW_COUNT_COLUMN- Inherited_from
- \Zend_Paginator_Adapter_DbSelect::ROW_COUNT_COLUMN
- string
Properties

string $_cacheIdentifier = nullIdentifies this adapter for caching purposes.
Inherited from: \Zend_Paginator_Adapter_DbSelect::$$_cacheIdentifierThis value will remain constant for the entire life of this adapter regardless of how many different pages are queried.
nullDetails- Type
- string
- Inherited_from
- \Zend_Paginator_Adapter_DbSelect::$$_cacheIdentifier

\Zend_Db_Select $_countSelect = null
nullDetails- Type
- \Zend_Db_Select
- Inherited_from
- \Zend_Paginator_Adapter_DbSelect::$$_countSelect

integer $_rowCount = null
nullDetails- Type
- integer
- Inherited_from
- \Zend_Paginator_Adapter_DbSelect::$$_rowCount

\Zend_Db_Select $_select = null
nullDetails- Type
- \Zend_Db_Select
- Inherited_from
- \Zend_Paginator_Adapter_DbSelect::$$_select
Methods

__construct(\Zend_Db_Select $select) : void
| Name | Type | Description |
|---|---|---|
| $select | \Zend_Db_Select | The select query |

count() : integerReturns the total number of rows in the result set.
Inherited from: \Zend_Paginator_Adapter_DbSelect::count()| Type | Description |
|---|---|
| integer |

getCacheIdentifier() : stringReturns the cache identifier.
Inherited from: \Zend_Paginator_Adapter_DbSelect::getCacheIdentifier()| Type | Description |
|---|---|
| string |

getCountSelect() : \Zend_Db_SelectGet the COUNT select object for the provided query
Inherited from: \Zend_Paginator_Adapter_DbSelect::getCountSelect()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.
| Type | Description |
|---|---|
| \Zend_Db_Select |

getItems(integer $offset, integer $itemCountPerPage) : \Zend_Db_Table_Rowset_AbstractReturns a Zend_Db_Table_Rowset_Abstract of items for a page.
| Name | Type | Description |
|---|---|---|
| $offset | integer | Page offset |
| $itemCountPerPage | integer | Number of items per page |
| Type | Description |
|---|---|
| \Zend_Db_Table_Rowset_Abstract |

setRowCount( $rowCount) : \Zend_Paginator_Adapter_DbSelectSets the total row count, either directly or through a supplied query.
Inherited from: \Zend_Paginator_Adapter_DbSelect::setRowCount()Without setting this, 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.
| Name | Type | Description |
|---|---|---|
| $rowCount |
| Type | Description |
|---|---|
| \Zend_Paginator_Adapter_DbSelect | $this |
| Exception | Description |
|---|---|
| \Zend_Paginator_Exception |