web-dev-qa-db-ja.com

Doctrine_Core :: getTable()-> findAll()順序を指定する方法?

_Doctrine_Table_オブジェクトを使用する場合、findAll()またはfindByWhatever()を使用するときに返されるコレクションの順序を指定できますか?

doc's にはgetOrderByStatement()processOrderBy()についての説明がありますが、それらの使用方法は不明です...

23
Jake Wilson

最初の配列を空白のままにすることもできます

  $em->getRepository('BackendDestinyBundle:Destiny')->findBy(array(), array('title'=>'asc'));
58
Aaron

実際には、スキーマでデフォルトの順序を指定できます。

Foo:
  columns:
    ...
  options:
    orderBy: bar DESC

別の順序を指定する場合でも、クエリを作成してデフォルトの順序を上書きできることに注意してください。

13
Gerry

Jon Wageによると、この場合はクエリを作成する必要があります… mailing-list にあります

6
Flask

私の場合、問題は私がこのような発言をしたことでした

$destinos  = $em->getRepository('BackendDestinyBundle:Destiny')->findAll();

最後に、それをCreateQueryステートメントに変更しました。まったく同じですが、OrderBy文を置くことができます

$destinos  = $em->createQuery("SELECT d FROM BackendDestinyBundle:Destiny d order by d.name")->getResult();
1
Jorge Ibacache