原则:如果不选择至少一个根实体别名,则无法通过识别变量选择实体
2022-08-30 20:06:58
我在查询生成器中使用以下代码来选择分数值的平均值,以及该平均值所属的类别实体:
$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)。
任何想法可能是什么问题?