Korzystam z poniższego kodu w konstruktora zapytań, aby wybrać średnią wartości wyników, a encja kategorii, do której należy ta średnia :Doctrine: Nie można wybrać encji za pomocą zmiennych identyfikacyjnych bez wybrania co najmniej jednego aliasu jednostki głównej
$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 ocena, natomiast wyniki należą do przeglądu, a wyniki mają kategorię.
Ale gdy próbuję wykonać to pojawia się błąd
Error: Cannot select entity through identification variables without choosing at least one root entity alias.
Kiedy debugowania i sprawdzić aliasy korzeniowych, widzę, że „s” jest zdefiniowany, który powinien być podmiot root (Wynik).
Każdy pomysł co może być nie tak?