如何使用ZF2和Doctrine创建分页?

时间:2014-05-23 17:52:55

标签: php doctrine-orm pagination zend-framework2

我正在尝试为我的简单网站添加分页。我正在使用Zf2和Doctrine2 orm。

Doctrine2在2.2版本中引入了自己的分页符。您可以找到示例here。此示例的代码:

use Doctrine\ORM\Tools\Pagination\Paginator;

$dql = "SELECT p, c FROM BlogPost p JOIN p.comments c";
$query = $entityManager->createQuery($dql)
                       ->setFirstResult(0)
                       ->setMaxResults(100);

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

$c = count($paginator);
foreach ($paginator as $post) {
    echo $post->getHeadline() . "\n";
}

链接页面上只有一个示例。在此示例中显示了如何使用DQL创建paginator。我没有使用DQL,而且我使用对象管理器获取数据(这些代码有N部分代码)。

我正在使用另一种方法来处理db。我正在使用这样的东西:

// $this->objectManager is being set in __construct

$news = $this->objectManager                     
    ->getRepository('\News\Entity\Item')         
    ->findBy($options, array('created'=>'DESC'));

$items = array();                           
foreach ($news as $item) {                  
    $items[] = $item->getArrayCopy();       
}                                           
return $items;  

有没有办法在不使用DQL的情况下进行分页,就像在示例中一样?是否可以为我的方法添加分页?

0 个答案:

没有答案