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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Symfony2/Doctrine2] Problème d'offset.

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

par YoshV » 08 mars 2012, 18:51

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 !)

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

par YoshV » 08 mars 2012, 18:21

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