0

我有一个小问题:

与 OneToMany 关联的 Mod 实体与 View 实体。

  • 模组
    • 浏览量(一天的浏览量)
    • 看法
    • 看法

我想获得模组并按观看次数对其进行排序。问题是使用下面的代码,排序不正确并且 ORDER BY m.views 不起作用。

public function getWeeklyModsMostViewed($number = null)
{
    $query = $this->_em->createQuery(

    "SELECT m
     FROM KynaModsBundle:Mods m
     LEFT JOIN m.views v
     WHERE v.date > :dateLimit
     ORDER BY v.views DESC
    "
    )->setParameter('dateLimit', new \dateTime('-7days'))
     ->setMaxResults($number);

    return $query->getResult();

你能帮我吗 ?谢谢。

4

1 回答 1

0

您可以使用 ORM 注释(在实体中添加)订购对象集合

@ORM\OrderBy({"views" = "DESC"})

你做你的要求像:

从 KynaModsBundle 中选择 m:Mods m LEFT JOIN m.views v WHERE v.date > :dateLimit

于 2013-06-03T10:23:13.030 回答