Доктрина: Невозможно выбрать сущность через переменные идентификации, не выбрав хотя бы один псевдоним корневого объекта.

Я использую следующий код впостроитель запросов, чтобы выбрать среднее значение баллов и объект категории, к которому относится это среднее значение:

$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).

Есть идеи, что может быть не так?

Ответы на вопрос(1)

Ваш ответ на вопрос