Sto incontrando un problema con Doctrine Paginator.Dottrina impaginatore
Nel mio repository ho una funzione per recuperare un set di dati specifico. Io uso il QueryBuilder per questo:
{myEntityRepository}->createQueryBuilder($alias)
Al fine di selezionare solo i campi specifici Io uso il seguente:
if (count($selectFields) > 0) {
$qb->resetDQLPart('select');
foreach ($selectFields as $selectField) {
$qb->addSelect($alias . '.' . $selectField);
}
}
Questo funziona bene quando ho recuperare l'intero insieme in questo modo:
$query = $qb->getQuery();
$data = $query->getResult(AbstractQuery::HYDRATE_ARRAY);
Ma fallisce quando uso l'impaginatore:
$paginator = new Paginator($qb, $fetchJoinCollection = false);
$total = $paginator->count(),
$data = $paginator->getQuery()->getResult(AbstractQuery::HYDRATE_ARRAY)
ottengo l'errore:
Not all identifier properties can be found in the ResultSetMapping: relationID
\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Exec\SingleSelectExecutor.php(38)
Domanda: Perché il Paginator riuscire quando seleziono solo campi specifici?
Sto trascurando qualcosa? O sto sbagliando tutto insieme?
uomo, mi sento così così ... https://xkcd.com/979/ – yivi