public function testPageSize() { $rf = new ResourceFilter(array('page' => array('size' => 1))); $this->assertTrue($rf->hasPageSize()); $this->assertEquals(1, $rf->getPageSize()); $rf = new ResourceFilter(array('page' => array('size' => 'plok'))); $this->assertTrue($rf->hasPageSize()); $this->assertEquals(0, $rf->getPageSize()); $rf = new ResourceFilter(array()); $this->assertFalse($rf->hasPageSize()); $this->assertNull($rf->getPageSize()); }
/** * @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); } } }