エンティティ リストのページネーションを可能にするKnpPaginatorBundleをSymfony プロジェクトに統合しようとしています。
そのため、README の指示に従って、通常どおりバンドルをインストールおよびセットアップしました。
しかし、KnpPaginatorBundle の例 (コピーペーストの実装) の実装をテストすると、次のエラーが発生します。
Fatal error: Class Knp\Component\Pager\Event\Subscriber\Paginate\Doctrine\ORM\Query\AsIsHydrator contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Doctrine\ORM\Internal\Hydration\AbstractHydrator::_hydrateAll) in D:\workspace\wedding\vendor\knp-components\src\Knp\Component\Pager\Event\Subscriber\Paginate\Doctrine\ORM\Query\AsIsHydrator.php on line 13
Googleで解決策が見つかりませんでした:-/
どんな助けでも大歓迎です...ありがとう
私のコントローラー:
/**
* @Route("/pagin", name="pagin")
* @Template()
*/
public function paginAction(){
$em = $this->get('doctrine.orm.entity_manager');
$dql = "SELECT c FROM LgpWeddingBundle:Contact c";
$query = $em->createQuery($dql);
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$query,
$this->get('request')->query->get('page', 1)/*page number*/,
10/*limit per page*/
);
// parameters to template
// return $this->render('LgpWeddingBundle:Contact:pagin.html.twig', array('pagination' => $pagination));
return array('pagination' => $pagination);
}
Knp\Component\Pager\Event\Subscriber\Paginate\Doctrine\ORM\Query\AsIsHydrator:
class AsIsHydrator extends AbstractHydrator
{
/**
* Hydrates all rows from the current statement instance at once.
*/
protected function hydrateAllData()
{
return $this->_stmt->fetchAll(\PDO::FETCH_ASSOC);
}
}
Doctrine\ORM\Internal\Hydration\AbstractHydrator:
abstract class AbstractHydrator
{
//...
/**
* Hydrates all rows from the current statement instance at once.
*/
abstract protected function _hydrateAll();
//...
}