我有一点问题:
与OneToMany关联的Mod实体与View实体。
我想获取mod并按视图数量对它们进行排序。 问题是,使用下面的代码,排序不正确,并且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();
你能帮帮我吗?
感谢。
答案 0 :(得分:0)
您可以使用ORM注释(在实体中添加)来订购对象集合
@ORM \ OrderBy({“views”=“DESC”})
你做的请求如下:
SELECT m 来自KynaModsBundle:Mods m LEFT JOIN m.views v WHERE v.date> :dateLimit