/** * @param Criteria $criteria * * @return EntityRepositoryResult */ public function findByCriteria(Criteria $criteria) { return new EntityRepositoryResult($this->entities, $criteria->page(), count($this->entities), $criteria->rowsPerPage(), ceil(count($this->entities) / $criteria->rowsPerPage())); }
/** * @param Paginator $paginator * @param Criteria $criteria * * @return mixed */ private function getPageResult(Paginator $paginator, Criteria $criteria) { return $paginator->getQuery()->setFirstResult($criteria->rowsPerPage() * ($criteria->page() - 1))->setMaxResults($criteria->rowsPerPage())->getResult(); }