Я использую следующий код в построителе запросов, чтобы выбрать среднее значение оценки и объект категории, к которому относится это среднее значение:
$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
- это объект, к которому относится просмотр, в то время как оценки относятся к обзору, а оценки имеют категорию.
Но когда я пытаюсь выполнить это, я получаю сообщение об ошибке
Error: Cannot select entity through identification variables without choosing at least one root entity alias.
Когда я отлаживаю и проверяю коренные псевдонимы, я вижу, что это 's' определено, которое должно быть корневым сущностью (Score).
Любая идея, что может быть неправильным?