与orderBy内联或在其他表上使用groupBy

时间:2018-06-29 10:50:36

标签: sql symfony doctrine inner-join symfony4

我使用的是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?

0 个答案:

没有答案