0

少し問題があります:

View エンティティと OneToMany の関係にある Mod エンティティ。

  • モッド
    • ビュー(1日のビュー)
    • 意見
    • 意見

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();

私を助けてくれませんか?ありがとう。

4

1 に答える 1

0

ORM アノテーション (エンティティに追加する) を使用してオブジェクトのコレクションを注文できます。

@ORM\OrderBy({"ビュー" = "DESC"})

そして、あなたは次のようにリクエストを行います:

SELECT m FROM KynaModsBundle:Mods m LEFT JOIN m.views v WHERE v.date > :dateLimit

于 2013-06-03T10:23:13.030 に答える