La Doctrine de Base::getTable()->findAll() comment spécifier l'ordre?
Lorsqu'on utilise un objet Doctrine_Table
, est-il possible de préciser l'ordre de la collection retournée lorsqu'on utilise findAll()
ou findByWhatever()
?
Dans le doc je vois des trucs sur getOrderByStatement()
et processOrderBy()
mais il n'est pas clair sur la façon de les utiliser...
4 réponses
, Vous pouvez aussi laisser le premier tableau vide
$em->getRepository('BackendDestinyBundle:Destiny')->findBy(array(), array('title'=>'asc'));
vous pouvez en fait spécifier un ordre par défaut dans votre schéma:
Foo:
columns:
...
options:
orderBy: bar DESC
notez que lorsque vous voulez spécifier un ordre différent, vous pouvez toujours créer une requête et annuler l'ordre par défaut.
selon Jon Wage vous devez créer une requête dans ce cas ... trouvé dans le mailing-list
dans mon cas, le problème était que j'avais une déclaration comme celle-ci
$destinos = $em->getRepository('BackendDestinyBundle:Destiny')->findAll();
enfin je l'ai changé en une déclaration de CreateQuery, il fait exactement la même chose, mais je peux mettre une ordonnance par phrase
$destinos = $em->createQuery("SELECT d FROM BackendDestinyBundle:Destiny d order by d.name")->getResult();