少なくとも2つの左ジョインで複雑なリクエストをページ付けしたいのですが、私が使っているページングバンドル(Dopprine)では結果を数える方法(which is needed for the pagination process)を教えられません。この例外を持ち続ける。ここでDoctrine:左ジョイントのページネック
Cannot count query which selects two FROM components, cannot make distinction
教義QueryBuilderで構築されたサンプルの要求です。
public function findGroupsByUser(User $user, $listFilter, $getQuery = false, $order = 'ASC')
{
$query = $this->createQueryBuilder('r')
->select('r as main,g')
->select('r as main,g, count(gg) as members')
->leftjoin('r.group', 'g')
->innerjoin('MyBundle:GroupMemberRel', 'gg', 'WITH', 'r.group = gg.group')
->addGroupBy('g.groupId')
->add('orderBy', 'g.name ' . $order);
if ($getQuery == true) {
return $query;
}
return $query->getQuery()->getResult();
}
それから私はknp_paginatorサービスにこの要求を与える、と私は例外
$groupQuery = $this->em->getRepository('MyBundle:GroupMemberRel')->findGroupsByUser($user, $listFilter, true);
$paginator = $this->container->get('knp_paginator');
/* @var $groups Knp\Component\Pager\Pagination\PaginationInterface */
$groups = $paginator->paginate(
$groupQuery, $this->container->get('request')->query->get('page', 1), 10 /* limit per page */
);
に複雑な要求を超えるページ付けする方法上の任意のアイデアを持って、その後、私はこの使用かなり確信しています大文字 - 小文字は一般的ですが、改ページ後に私の結果を水和させたくありません。
Pagerfantaのdoctrine ORMアダプタは、奇妙なクエリを処理できる必要があります。 https://github.com/whiteoctober/Pagerfanta – AdrienBrault
この質問は変わっていません。私は単純にknpページャーでそれを行う方法があると確信しています。多分、私はページャーにもっと深く見てください。 –
私はこの問題に直面して..どのような解決策? – tttony