【问题标题】:Pagination In Doctrine 2, ZF2教义2中的分页,ZF2
【发布时间】:2014-03-25 11:42:49
【问题描述】:

我正在尝试使用最新版本的 Doctrine 实现分页: https://doctrine-orm.readthedocs.org/en/latest/tutorials/pagination.html?highlight=doctrine%20dql%20pagination

$query = $this->getEntityManager()->createQuery('
        SELECT b,pb
        FROM BookApi\Entity\Book b
        LEFT JOIN b.publisher pb        
        ')->setFirstResult(0)->setMaxResults(10);
$paginator = new Paginator($query, $fetchJoinCollection = true);    
$this->totalResults = count($paginator);

我用分页器返回的 count 是正确的。 但是 getQuery 没有给我十个结果。它返回 5。

$output = $paginator->getQuery()->getArrayResult();

这是错误的方法吗?

【问题讨论】:

标签: php doctrine-orm pagination doctrine zend-framework2


【解决方案1】:

根据上面的评论,这对我有用。 我不得不添加补水模式

$book = $this->getEntityManager()->createQuery('
     SELECT b,pb
     FROM BookApi\Entity\Book b
     LEFT JOIN b.publisher pb   
')->setHydrationMode(\Doctrine\ORM\AbstractQuery::HYDRATE_ARRAY);

$paginator = new Paginator(
     new DoctrinePaginator(new ORMPaginator($book))
);

$paginator
        ->setCurrentPageNumber(0)
        ->setItemCountPerPage(10);

【讨论】:

    猜你喜欢
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 2013-09-16
    • 2014-11-06
    相关资源
    最近更新 更多