bonjour à tous !

j'ai 2 entités : Movie et userMovie telles que Movie a plusieurs UserMovie et UserMovie appartient à un seul Movie

je récupère une liste de UserMovie que j'aimerais trier par un attribut de Movie

si je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$films = $this->getDoctrine()
            ->getManager('cine')
            ->getRepository('EliaCineBundle:UserMovie')
            ->findBy(array('user' => $user_id));
j'ai bien ma liste, avec tous les attributs dont j'ai besoin dans mon template mais pas dans le bon ordre bien que la relation soit définie telle que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
/**
     * @ORM\ManyToOne(targetEntity="Movie", inversedBy="usermovies")
     * @ORM\JoinColumn(name="movie_id", referencedColumnName="id")
     * @ORM\OrderBy({"title" = "ASC"})
     */
    private $movie;
j'ai donc créé un repository et une méthode telle que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
$qb = $this->createQueryBuilder('um');
 
        $qb->select('um')
        	// ->innerJoin('um.user', 'u')
        	->innerJoin('um.movie', 'm')
        	->addSelect('m')
        	// ->add('where', $qb->expr()->eq('u.id', $user_id))
        	->orderBy('m.title', 'ASC')
	        ->getQuery()
	        ->getResult();
 
        return $qb;
mais, même si la requête SQL est correcte, ça ne me renvoie rien dans mon template

à coups de dump, j'ai constaté que findBy renvoie un array alors que querybuilder renvoie une collection d'objets

j'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
->getResult(Query::HYDRATE_ARRAY);
sans effet
et même (en mode cra cra) mais du coup, je n'ai plus accès aux attributs de Movie dans le template...

comment faire pour que query_builder renvoie un array directement utilisable dans le template ?

merci d'avance !