[Symfony2/Doctrine2] Resultats dans un tableau.

Eléphanteau du PHP | 25 Messages

29 févr. 2012, 21:02

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

Eléphanteau du PHP | 25 Messages

01 mars 2012, 11:58

Résolu !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

01 mars 2012, 13:02

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:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 25 Messages

01 mars 2012, 17:28

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.
        }