【问题标题】:OrderBy and Relation OneToManyOrderBy 和关系 OneToMany
【发布时间】:2013-06-02 20:08:54
【问题描述】:

我有个小问题:

Mod 实体与 OneToMany 和 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();

你能帮帮我吗? 谢谢。

【问题讨论】:

  • 您可能需要在 select 子句中添加 v

标签: symfony doctrine-orm sql-order-by dql


【解决方案1】:

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

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

你的要求是这样的:

选择米 FROM KynaModsBundle:Mods m 左连接 m.views v WHERE v.date > :dateLimit

【讨论】:

    猜你喜欢
    • 2021-04-04
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 2019-08-31
    • 2018-02-10
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    相关资源
    最近更新 更多