我使用的是Symfony 4和Doctrine,我对DQL查询有一个问题,我有两个具有类型和产品关系的表,一个类型可以有多个产品,一个产品可以有一个类型。我该如何编写查询,以按类型和产品(相对于价格)将记录返回给我排序的记录?
public function getAllMainOrderByQueue()
{
return $this->createQueryBuilder('b')
->innerJoin('b.children', 'children')
->addSelect('children')
->andWhere('b.parent IS NULL')
->andWhere('b.isDeleted = :value')->setParameter('value', false)
->andWhere('children.isDeleted = :v')->setParameter('v', false)
->orderBy('b.name', 'ASC')
->addOrderBy('children.price', 'ASC')
;
}
当我在上面使用此代码时,出现错误:
无法通过LIMIT和ORDER BY从查询中选择不同的标识符 在从提取到多对多关联的列中。使用输出 步行者。
如何将 innerjoin 与orderBy函数一起使用,也许我应该在Product表上使用groupBy?