Doctrine: Nie można wybrać encji za pomocą zmiennych identyfikacyjnych bez wybrania co najmniej jednego aliasu głównego elementu

Używam następującego kodu wkonstruktor zapytań, aby wybrać średnią wartości punktacji i jednostkę kategorii, do której należy ta średnia:

$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 jest podmiotem, do którego należy recenzja, podczas gdy wyniki należą do recenzji, a wyniki mają kategorię.

Ale kiedy próbuję to wykonać, otrzymuję błąd

Error: Cannot select entity through identification variables without choosing at least one root entity alias.

Kiedy debuguję i sprawdzam aliasy root, widzę, że zdefiniowane jest 's', które powinno być rootem (Score).

Jakiś pomysł, co może być nie tak?

questionAnswers(1)

yourAnswerToTheQuestion