Doctrine: Entity kann nicht über Identifikationsvariablen ausgewählt werden, ohne mindestens einen Root-Entity-Alias auszuwählen
Ich benutze den folgenden Code in derAbfrage Ersteller, um einen Durchschnitt der Punktewerte und die Kategorieeinheit auszuwählen, zu der dieser Durchschnitt gehört:
$queryBuilder = $this->createQueryBuilder('s')
->resetDQLPart('select')
->select('AVG(s.score) as score, partial c.{reviewCategoryID} as cat')
->setParameter('status', ReviewStatusType::ACCEPTED)
->join('s.review', 'r')
->join('s.category', 'c')
->where('r.campsite = :campsite')
->andWhere('r.status = :status')
->setParameter('campsite', $campsite)
->groupBy('c.reviewCategoryID');
$campsite
ist eine Entität, zu der eine Überprüfung gehört, während Bewertungen zu einer Überprüfung gehören und Bewertungen eine Kategorie haben.
Aber wenn ich versuche, dies auszuführen, erhalte ich den Fehler
Error: Cannot select entity through identification variables without choosing at least one root entity alias.
Wenn ich debugge und die Root-Aliase überprüfe, sehe ich, dass 's' definiert ist. Dies sollte die Root-Entität (Score) sein.
Irgendeine Idee, was falsch sein könnte?