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?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage