Magazine Internet

Changer facilement l'index d'une requête avec Doctrine

Publié le 22 janvier 2016 par Rkueny

Doctrine indexe de 0 à X les résultats de vos requêtes, mais vous avez peut être envie d’avoir l’id de l’entity en index ?

Voici une astuce toute simple à utiliser dans la méthode de votre repository.

1 $query = $this->_em->createQueryBuilder();
2 
3 return $query->select("p")
4     ->from("AppBundle:Post", "p", 'p.id')
5    ->getQuery()
6    ->getResult();

Il vous suffit donc d’ajouter un paramètre à la fonction ->from(). Ici en ajoutant "p.id", le tableau de retour sera :

1 array
2     1 => object(AppBundle\Entity\Post)
3         private 'id' => int 1
4         private 'name' => string 'XXXY fjidshif'
5         private 'slug' => string 'test'
6     2 => object(AppBundle\Entity\Post)
7         private 'id' => int 2
8         private 'name' => string 'XXXY Bonjour tout le monde !fjidshif'
9         private 'slug' => string 'bonjour-tout-le-monde'

Le paramètre doit faire parti du select. Et attention, s’il n’est pas unique la clé écrasera une précédente.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Rkueny 160 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine