私は今日、すべての "Tours By Network"を取得する機能を持っています。PersistentCollectionで結果を注文
public function toursTodayByNetwork($network){
$todayStart = \DateTime::createFromFormat("Y-m-d H:i:s", date("Y-m-d 00:00:00"));
$todayEnd = \DateTime::createFromFormat("Y-m-d H:i:s", date("Y-m-d 23:59:59"));
return $this->getEntityManager()
->createQuery(
'SELECT p FROM AppBundle:Tour p JOIN AppBundle:Schedule s WHERE p.id = s.tour AND p.network = :network AND s.start >= :todayStart AND s.start <= :todayEnd'
)
->setParameter('todayStart',$todayStart)
->setParameter('todayEnd',$todayEnd)
->setParameter('network',$network)
->getResult();
}
Tour
エンティティがObject
エンティティにOneToMany
関係を持っています
私はこのようなカスタムリポジトリを持っています。
filiale
の列で全体を並べ替えるのはAppBundle:Object
です。これはクエリには表示されないので、単にORDER BY
とすることはできません。
は私が
/**
* @ORM\OneToMany(targetEntity="Object", mappedBy="tour")
* @ORM\OrderBy({"filiale" = "DESC"})
*/
protected $object;
を試してみましたしかし、それは何も変わりません。
THIS私は何かのように見えますが、どこにEventListenerを配置するのか分かりません。私はおそらく、単にクエリを変更する必要があるとも信じていますか?
注釈 "@ORM \ OrderBy({" filiale "=" DESC "})"は、$ tour-> getObjects()を実行したときに関連オブジェクトをソートすることを意味します。 – Alsatian