getResult(); } $offset = ($page * $limit) - $limit; $query->setFirstResult($offset); $query->setMaxResults($limit); $paginator = new Doctrine\ORM\Tools\Pagination\Paginator($query, $fetchJoinCollection); // Num results $count = $paginator->count(); $pagination_info = array( 'total' => (int) $count, 'current_page' => (int) $page, 'total_pages' => (int) ceil($count / $limit) ); return array( 'result' => $paginator, // could just return $paginator->getIterator() 'meta' => $pagination_info ); }