2010-08-16 41 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"; 
}