Doctrine Paginatorに問題が発生しました。Doctrineページネイター
私のリポジトリには、特定のデータセットを取得する機能があります。 私はこのためにquerybuilderを使用します。
{myEntityRepository}->createQueryBuilder($alias)
以下、私が使用して特定のフィールドのみを選択するために:
$query = $qb->getQuery();
$data = $query->getResult(AbstractQuery::HYDRATE_ARRAY);
:私はこのようなセット全体を取得するとき、これは正常に動作します
if (count($selectFields) > 0) {
$qb->resetDQLPart('select');
foreach ($selectFields as $selectField) {
$qb->addSelect($alias . '.' . $selectField);
}
}
ただし、ページャーを使用すると失敗します。
$paginator = new Paginator($qb, $fetchJoinCollection = false);
$total = $paginator->count(),
$data = $paginator->getQuery()->getResult(AbstractQuery::HYDRATE_ARRAY)
私はエラーを取得する:
Not all identifier properties can be found in the ResultSetMapping: relationID
\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Exec\SingleSelectExecutor.php(38)
質問:私は唯一の特定のフィールドを選択したときに、なぜページネータが失敗するのでしょうか?
私は何か見落としていますか?それとも私は一緒に間違ってやっていますか?
マンで
を追加 – yivi