本文整理匯總了PHP中Pagerfanta\Pagerfanta::getIterator方法的典型用法代碼示例。如果您正苦於以下問題:PHP Pagerfanta::getIterator方法的具體用法?PHP Pagerfanta::getIterator怎麽用?PHP Pagerfanta::getIterator使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Pagerfanta\Pagerfanta
的用法示例。
在下文中一共展示了Pagerfanta::getIterator方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testGetIteratorShouldReturnAnArrayIteratorIfCurrentPageResultsIsAnArray
public function testGetIteratorShouldReturnAnArrayIteratorIfCurrentPageResultsIsAnArray()
{
$currentPageResults = array('foo', 'bar');
$this->setAdapterGetSlice($currentPageResults);
$expected = new \ArrayIterator($currentPageResults);
$this->assertEquals($expected, $this->pagerfanta->getIterator());
}
示例2: current
/**
* {@inheritdoc}
*/
public function current()
{
return $this->pager->getIterator();
}
示例3: paginatorPagerFantaAction
/**
* Public pagination method with pagerfanta instance
*
* @\Mmoreram\ControllerExtraBundle\Annotation\Paginator(
* class = {
* "factory" = "Mmoreram\ControllerExtraBundle\Tests\FakeBundle\Factory\FakeFactory",
* "method" = "createNonStatic",
* "static" = false
* },
* page = "~page~",
* limit = "~limit~",
* orderBy = {
* { "x", "~field~", "~dir~", {
* "1" = "ASC",
* "2" = "DESC",
* }}
* }
* )
*
* @\Mmoreram\ControllerExtraBundle\Annotation\JsonResponse()
*/
public function paginatorPagerFantaAction(Pagerfanta $paginator)
{
return array('count' => $paginator->getIterator()->count());
}
示例4: getPagedCollection
public function getPagedCollection($page = 1, $limit = 10, $query = null, $sorting = null, $order = 'DESC')
{
$queryBuilder = $this->repository->createQueryBuilder('e');
$this->prepareJoinedQuery($queryBuilder);
if ($query) {
$this->createFilterQuery($queryBuilder, $query);
}
if ($sorting) {
if (strpos($sorting, '.') === false) {
$queryBuilder->addOrderBy(sprintf('e.%s', $sorting), $order);
} else {
$queryBuilder->addOrderBy($sorting, $order);
}
}
$pagerAdapter = new DoctrineORMAdapter($queryBuilder);
$pager = new Pagerfanta($pagerAdapter);
$pager->setCurrentPage($page);
$pager->setMaxPerPage($limit);
return ['limit' => (int) $limit, 'page' => (int) $page, 'pages' => $pager->getNbPages(), 'total' => $pager->getNbResults(), 'data' => $pager->getIterator()->getArrayCopy()];
}