Page 1 sur 1

[Symfony2/Doctrine2] Problème d'offset.

Posté : 08 mars 2012, 18:21
par YoshV
Bonjour,

Voici mon problème:

J'ai cette erreur:
Notice: Undefined offset: 8 in C:\wamp\www\Symfony\src\LGB\BourseLivresBundle\Controller\RachatController.php line 66
J'ai lu que c'était peut etre un problème de remplissage, j'ai donc effectué des tests:
$repIdLivre=$this->get('doctrine')->getEntityManager();
        $resultId=$repIdLivre->getRepository('LGBBourseLivresBundle:EleveHasLivre')->GetIdLivre($id);
        //var_dump($resultId);
        if(!empty($resultId[0]['livreIdlivre']))
        {
            $repNbLivre=$this->get('doctrine')->getEntityManager();
            $resultCount=$repNbLivre->getRepository('LGBBourseLivresBundle:EleveHasLivre')->GetNbLivre($id);
            $total=0;
            if($resultCount!=0)
            {
                // Pour compteur allant de 0 jusqu'au nombre de livre par pas de 1.
                for($cpt=0;$cpt!=$resultCount;$cpt++)
                {
                    
                    $repTabLivre=$this->get('doctrine')->getEntityManager();
                    $resultLivre=$repTabLivre->getRepository('LGBBourseLivresBundle:Livre')->GetTitreLivre($resultId[$cpt]['livreIdlivre']);
Je ne comprends pas pourquoi j'ai toujours cette erreur...

Je vous met mes repository:

EleveHasLivre:
class EleveHasLivreRepository extends EntityRepository
{
	public function GetIdLivre($id)
	{
		// Requete pour trouver l'id du livre.
        $q=$this->getEntityManager()->createQuery("SELECT b.livreIdlivre FROM LGBBourseLivresBundle:EleveHasLivre b WHERE b.eleveIdeleve=$id AND b.statutstatut=6");

        return $resultId=$q->getResult();// On recupère le resultat de la requete
	}

	public function GetNbLivre($id)
	{
		// Requete pour compter le nombre de livre que l'élève est cencé avoir en sa possession.
        $qCount=$this->getEntityManager()->createQuery("SELECT COUNT(b.livreIdlivre) FROM LGBBourseLivresBundle:EleveHasLivre b WHERE b.eleveIdeleve=$id");
        return $resultCount=$qCount->getSingleScalarResult();// On récupère le nombre du COUNT
	}
   
}
Livre:
   public function GetTitreLivre($idlivre)
   {
   		//Requete pour trouver le titre du livre.
        $req=$this->getEntityManager()
        		  ->createQuery("SELECT c.titre,c.codeEan,c.prixReprise,c.discipline FROM LGBBourseLivresBundle:Livre c WHERE c.idlivre=".$idlivre);
        return $resultLivre=$req->getResult();//On récupère le titre du livre en question.
   }
Je n'arrive pas détecter d’où provient l’erreur. Si on suit la logique de l’erreur ça serait lorsque j'utilise: $resultId[$cpt]['livreIdlivre']

Merci d'avance de votre aide.

YoshV

Re: [Symfony2/Doctrine2] Problème d'offset.

Posté : 08 mars 2012, 18:51
par YoshV
Frapper moi !!!!

Il me manquait une condition dans ma requête de count qui était dans la requête au dessus du coup je dépassais mes cases de tableaux (débordement mémoire !)