Php 我们的产品销量最大

Php 我们的产品销量最大,php,mysql,doctrine-orm,doctrine,Php,Mysql,Doctrine Orm,Doctrine,我有一个产品实体,与多个订单关联。 我想构建一个能够带来最畅销产品的存储库方法。 每个订单只有一个产品和一个数量,因此,数量是无关的 我在ProductRepository中的当前进度: public function getMostPopularProducts($limit) { return $this->createQueryBuilder("p") ->join(Order::class, &quo

我有一个产品实体,与多个订单关联。 我想构建一个能够带来最畅销产品的存储库方法。 每个订单只有一个产品和一个数量,因此,数量是无关的

我在ProductRepository中的当前进度:

    public function getMostPopularProducts($limit)
    {
        return $this->createQueryBuilder("p")
            ->join(Order::class, "o", "o.item = p.id")
            ->setMaxResults($limit)
            ->getQuery()
            ->getResult();
    }

加入订单、计算订单总数以及检索从最畅销产品到最畅销产品的订单结果的最佳方法是什么。

菜鸟me显然做得不对。 正确的方法是从订单进入产品,而不是相反

这很有效

    public function getMostSoldItems()
    {
        return $this->createQueryBuilder("o")
            ->groupBy("o.item")
            ->setMaxResults(10)
            ->orderBy("COUNT(o.item)", "ASC")
            ->getQuery()
            ->getResult();
    }

这回答了你的问题吗@是的,没有。