Skip to content

Instantly share code, notes, and snippets.

@sinamiandashti
Created August 9, 2012 22:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sinamiandashti/3308761 to your computer and use it in GitHub Desktop.
Save sinamiandashti/3308761 to your computer and use it in GitHub Desktop.
zf doctrine paginator adapter
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Paginator
*
* @author Sina Miandashti
*/
class Paginator implements Zend_Paginator_Adapter_Interface {
protected $_doctrineQueryBuilder;
function __construct($_doctrineQuery) {
$this->_doctrineQueryBuilder = $_doctrineQuery;
}
public function count() {
if (!is_a($this->_doctrineQueryBuilder, 'Doctrine\ORM\Query')) {
$query = $this->_doctrineQueryBuilder->getQuery();
} else {
$query = $this->_doctrineQueryBuilder;
}
return count($query->getResult());
}
public function getItems($offset, $itemCountPerPage) {
$this->_doctrineQueryBuilder->setFirstResult( $offset )
->setMaxResults( $itemCountPerPage );
if (!is_a($this->_doctrineQueryBuilder, 'Doctrine\ORM\Query')) {
$query = $this->_doctrineQueryBuilder->getQuery();
} else {
$query = $this->_doctrineQueryBuilder;
}
return $query->getResult();
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment