2010-08-16 83 views
8

我找不到Doctrine2 Doctrine_Pager,真的需要一种方法来寻找我的查询结果。有没有办法使用一些替代传呼机(梨,Zend)?如果解决方案可用,请张贴一些示例代码。谷歌didnt帮助了我,所以希望大家会:)如何页面Doctrine2结果

回答

6

我写了这个扩展Doctrine2包含一个强大的寻呼机:

http://github.com/beberlei/DoctrineExtensions

+0

的代码看起来真的不错,等不及要尝试一下,谢谢 – pentarim 2010-08-21 16:08:17

+0

@timdev,你能给我们一个示例代码,我们如何使用Zend_Paginator和DoctrineExtensions \ Paginate \ PaginationAdapter或DoctrineExtensions \ Paginate \ Paginate? – ulduz114 2011-09-12 07:08:25

0

正如不过请注意查询#setMaxResults /查询#setFirstResult盖大部分寻呼的基本需求。

2

教义2.2,有一个分页程序辅助类:http://docs.doctrine-project.org/en/latest/tutorials/pagination.html

非常容易使用:)

use Doctrine\ORM\Tools\Pagination\Paginator; 

$dql = "SELECT p, c FROM BlogPost p JOIN p.comments c"; 
//build the query for the page you want to display 
$query = $entityManager->createQuery($dql) 
         ->setFirstResult(0) 
         ->setMaxResults(10); 

$paginator = new Paginator($query, $fetchJoinCollection = true); 

$c = count($paginator); //automatically makes another query and returns the total number of elements. 

//iterating over the paginator iterates over the current page 
foreach ($paginator as $post) { 
    echo $post->getHeadline() . "\n"; 
}