Bonjour,

J'ai 2 entités : GallerieCategorie et GalleryPhoto relié en many-to-one bidirectionnelle.

Voici les extrait de mes entités:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class GalleriePhoto
    {
    /**
     * Date de mise en ligne de la photo
     *
     * @var \DateTime
     *
     * @ORM\Column(name="date", type="datetime")
     */
    private $date;
 
    /**
     * @ORM\ManyToOne(targetEntity="MonBundle\Entity\GallerieCategorie", inversedBy="photos")
     * @ORM\JoinColumn(nullable=false)
     */
    private $categorie;
    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class GallerieCategorie
    {
    /**
     * Liste des photos
     * 
     * @ORM\OneToMany(targetEntity="MonBundle\Entity\GalleriePhoto", mappedBy="categorie")
     */
    private $photos;
 
    // il existe pas d'attribut date
 
    /**
     * @return \DateTime
     *				La date de mise en ligne de la photo la plus récente de la catégorie
     */
    public function getDate()
        {
        $dernier = null;
 
       foreach ($this->photos as $photo)
           {
           if($dernier == null)
               $dernier = $photo->getDate();
 
           else if ($photo->getDate() > $dernier)
               $dernier = $photo->getDate();
           }
 
       return $dernier;
       }
    }
Ce que j'aimerais, c'est envoyé à twig la liste des catégorie triée par ordre de la dernière mise a jour (d'où l'utilité de getDate() de la classe GallerieCategorie).
J'ai évidemment essayer ceci depuis le controlleur (en croisant les doigt mais en espérant peu) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$repository = $this->getDoctrine()->getManager()->getRepository("MonBundle:GallerieCategorie");
$listCategories = $repository->findBy(array(), array("date"=>"DESC"), 	null, 	null);
Y-a-t-il un autre moyen que d'enregistrer en dur la date de la dernière mise à jour lors de l'ajout de photo ?

J'ai pensé à utiliser sort() sur la tableau retourné par le repository mais il faut qu'il fasse la comparaison sur getdate().
Existe-t-il un équivalent du compareTo de java ?

merci d'avance