web-dev-qa-db-fra.com

Doctrine_Core :: getTable () -> findAll () comment spécifier un ordre?

Lorsque vous utilisez un objet Doctrine_Table, est-il possible de spécifier l'ordre de la collection renvoyée lors de l'utilisation de findAll() ou findByWhatever()?

Dans le doc's je vois des informations sur getOrderByStatement() et processOrderBy() mais la manière de les utiliser n'est pas claire….

23
Jake Wilson

Vous pouvez également laisser le premier tableau vide 

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

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 souhaitez spécifier un ordre différent, vous pouvez toujours créer une requête et remplacer l'ordre par défaut par.

13
Gerry

Selon Jon Wage, vous devriez créer une requête dans ce cas… Trouvé dans la liste de diffusion

6
Flask

Dans mon cas, le problème était que j'avais une déclaration comme celle-ci.

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

enfin, j'ai changé pour une déclaration CreateQuery, il fait exactement la même chose, mais je peux mettre une phrase OrderBy

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