Tri des oneToMany

Lorsque vous voulez trier une relation OneToMany d’une entité, par exemple :

class Personne
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;

/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Animal", mappedBy="personne")
*/
protected $animaux;

...
}

Il suffit d’ajouter un @ORM/OrderBy({« attribute » = « ASC », « attribute2 » = « DESC »}), ce qui donnera pour notre exemple :

class Personne
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;

/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Animal", mappedBy="personne")
* @ORM\OrderBy({"nom_animal" = "ASC"})
*/
protected $animaux;

...
}

Pratique et indispensable !

Un commentaire

  1. Je ne connaissais pas l’astuce, merci!
    j’avoue qu’il aurait été cool d’indiquer à quoi elle sert 😀 mais un peu de réflexion et de qwant m’a permis de comprendre.

    merci tout de même.

    PS pour les autres, ca va ordonner les résultats des requêtes par défaut.

Répondre à jerome Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.