我正在尝试为我的简单网站添加分页。我正在使用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的情况下进行分页,就像在示例中一样?是否可以为我的方法添加分页?