Doctrine orm 具有最大值的原则DQL orderBy

Doctrine orm 具有最大值的原则DQL orderBy,doctrine-orm,dql,Doctrine Orm,Dql,我有一个实体,它有一个parent_id字段和一个sequence字段(整数) 我想按父id字段排序,并选择仅具有最大顺序的行。使用查询生成器和子选择尝试这种方法 在entityRepository类中使用此方法: public function getQueryBuilderForMaxSequenceValue() { $sub = $this->createQueryBuilder('a2'); $sub->select("max(a2.

我有一个实体,它有一个parent_id字段和一个sequence字段(整数)


我想按父id字段排序,并选择仅具有最大顺序的行。

使用查询生成器和子选择尝试这种方法

在entityRepository类中使用此方法:

public function getQueryBuilderForMaxSequenceValue()
    {
        $sub = $this->createQueryBuilder('a2');
        $sub->select("max(a2.sequence)");

        $qb = $this->createQueryBuilder('u');
        $qb->where('u.sequence= ( '.$sub->getDQL().' )');
        $qb->orderBy('u.parent_id','DESC');


        return $qb;
    }

希望获得此帮助

使用查询生成器和子选择尝试此方法

在entityRepository类中使用此方法:

public function getQueryBuilderForMaxSequenceValue()
    {
        $sub = $this->createQueryBuilder('a2');
        $sub->select("max(a2.sequence)");

        $qb = $this->createQueryBuilder('u');
        $qb->where('u.sequence= ( '.$sub->getDQL().' )');
        $qb->orderBy('u.parent_id','DESC');


        return $qb;
    }
希望这有帮助