public function testPageNumber() { $rf = new ResourceFilter(array('page' => array('number' => 1))); $this->assertTrue($rf->hasPageNumber()); $this->assertEquals(1, $rf->getPageNumber()); $rf = new ResourceFilter(array('page' => array('number' => 'plok'))); $this->assertTrue($rf->hasPageNumber()); $this->assertEquals(1, $rf->getPageNumber()); $rf = new ResourceFilter(array()); $this->assertFalse($rf->hasPageNumber()); $this->assertNull($rf->getPageNumber()); }
/** * @param QueryBuilder $queryBuilder * @param ResourceFilter $filter */ public function paginateQueryBuilder($queryBuilder, $filter) { if ($filter->hasPageSize()) { $queryBuilder->setMaxResults($filter->getPageSize()); if ($filter->hasPageNumber()) { $offset = $filter->getPageSize() * ($filter->getPageNumber() - 1); $queryBuilder->setFirstResult($offset); } } }