Page 1 sur 1

[Symfony2/Doctrine2] Resultats dans un tableau.

Posté : 29 févr. 2012, 21:02
par YoshV
Bonsoir,

je me trouve devant un problème et je pense que vous pouvez m'aider a le résoudre.

J'ai une table répertorié par des id.

Mais dans une autre tables je me sers de cette id pour en référencer plusieurs.

je souhaites donc stocker ces autres id dans un tableau auriez-vous une solution?

Petit bout de code:

$repository=$this->getDoctrine()
                         ->getEntityManager()
                         ->getRepository('LGBBourseLivresBundle:EleveHasLivre');

        $liste_idlivre=$repository->findByeleveIdeleve('43');


Peut etre serais je plus claire en méttant des noms sur ces id.

J'ai un "id élève" qui regroupe plusieurs "id livres" et j'aimerais stocké ces "id livres" dans un tableau afin d'utilisé ce qui est associé a chaques "id livres".

Bonne soirée,

YoshV

Re: [Symfony2/Doctrine2] Resultats dans un tableau.

Posté : 01 mars 2012, 11:58
par YoshV
Résolu !

Re: [Symfony2/Doctrine2] Resultats dans un tableau.

Posté : 01 mars 2012, 13:02
par zeus
Est-ce que tu peux poster la solution, pour ceux qui aurait le même soucis, et qui tomberons de désespoir devant ce post où quelqu'un connait la solution mais ne l'a pas partagé ? :wink:

Re: [Symfony2/Doctrine2] Resultats dans un tableau.

Posté : 01 mars 2012, 17:28
par YoshV
Oui pas de soucis:
 $q=$this->getDoctrine()->getEntityManager()->createQuery("SELECT b.livreIdlivre FROM LGBBourseLivresBundle:EleveHasLivre b WHERE b.eleveIdeleve=43");
        $resultId=$q->getResult();// On recupère le resultat de la requete

        // Requete pour compter le nombre de livre que l'élève est cencé avoir en sa possession.
        $qCount=$this->getDoctrine()->getEntityManager()->createQuery("SELECT COUNT(b.livreIdlivre) FROM LGBBourseLivresBundle:EleveHasLivre b WHERE b.eleveIdeleve=43");
        $resultCount=$qCount->getSingleScalarResult();// On récupère le nombre du COUNT

        // Pour compteur allant de 0 jusqu'au nombre de livre par pas de 1.
       for($cpt=0;$cpt!=$resultCount;$cpt++)
       {
            //echo $resultId[$cpt]['livreIdlivre'];// Affichage de l'id du livre.
       
            //Requete pour trouver le titre du livre.
            $req=$this->getDoctrine()->getEntityManager()->createQuery("SELECT c.titre FROM LGBBourseLivresBundle:Livre c WHERE c.idlivre=".$resultId[$cpt]['livreIdlivre']);
            $resultLivre=$req->getResult();//On récupère le titre du livre en question.
            
            $titre=array(NULL);// On déclare un tableau vide.

            // On boucle pour remplir le tableau afin d'isoler chaques titres de livre.
            foreach ($resultLivre as $titre) 
            {
                $titreLivre[$cpt]=$titre['titre'];
            }
            
            var_dump($titreLivre);

            //echo $titreLivre[$cpt]; Affichage du titre du livre.
        }