IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Doctrine2 PHP Discussion :

Comment récupérer des données dans l'objet de la jointure


Sujet :

Doctrine2 PHP

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut Comment récupérer des données dans l'objet de la jointure
    Bonsoir j'ai fait une jointure sur 2 entités mais je ne sais pas comment récupérer mes donnée
    voici ce que donne un print_r($last_rdv) qui correspond à la récupération de la jointure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Array ( 
    	[0] => Kod\AnnuaireBundle\Entity\Contact Object 
    	      ( [id:Kod\AnnuaireBundle\Entity\Contact:private] => 1 
    		[Rdvs:Kod\AnnuaireBundle\Entity\Contact:private] => Doctrine\ORM\PersistentCollection Object 
    			( [snapshot:Doctrine\ORM\PersistentCollection:private] => Array 
    				( [0] => Kod\AgendaBundle\Entity\Rdv Object 
    				      ( [id:Kod\AgendaBundle\Entity\Rdv:private] => 1 
    					[contact:Kod\AgendaBundle\Entity\Rdv:private] => 
    					Kod\AnnuaireBundle\Entity\Contact Object *RECURSION* 
    					[rdvdebut:Kod\AgendaBundle\Entity\Rdv:private] => DateTime Object 
    				      ( [date] => 2007-01-01 01:00:00 [timezone_type] => 3 
    				        [timezone] => Europe/Berlin 
    				      ) 
    				  [rdvduree:Kod\AgendaBundle\Entity\Rdv:private] => 1H00 
    				  [rdvfin:Kod\AgendaBundle\Entity\Rdv:private] => DateTime Object 
    			              ( [date] => 2007-01-01 01:00:00 [timezone_type] => 3 
    					[timezone] => Europe/Berlin ) 
    					[lieu_rdv:Kod\AgendaBundle\Entity\Rdv:private] => ddx 
    					[remarque:Kod\AgendaBundle\Entity\Rdv:private] => sddd 
    				      ) [1] => Kod\AgendaBundle\Entity\Rdv Object 
    				      ( [id:Kod\AgendaBundle\Entity\Rdv:private] => 2 
    					[contact:Kod\AgendaBundle\Entity\Rdv:private] => Kod\AnnuaireBundle\Entity\Contact Object
    					 *RECURSION* 
    					[rdvdebut:Kod\AgendaBundle\Entity\Rdv:private] => DateTime Object 
    				      ( [date] => 2015-10-08 08:06:00 [timezone_type] => 3 
    					[timezone] => Europe/Berlin 
    				      ) [rdvduree:Kod\AgendaBundle\Entity\Rdv:private] => 5H00 
    					[rdvfin:Kod\AgendaBundle\Entity\Rdv:private] => DateTime Object 
    					( [date] => 2015-10-08 08:06:00 [timezone_type] => 3 
    					  [timezone] => Europe/Berlin ) 
    					  [lieu_rdv:Kod\AgendaBundle\Entity\Rdv:private] => un rendez-vous 
    					  [remarque:Kod\AgendaBundle\Entity\Rdv:private] => une remarque ) 
       	[2] => Kod\AgendaBundle\Entity\Rdv Object 
    		( [id:Kod\AgendaBundle\Entity\Rdv:private] => 3 
    		  [contact:Kod\AgendaBundle\Entity\Rdv:private] => Kod\AnnuaireBundle\Entity\Contact Object 
    		*RECURSION* 
    		[rdvdebut:Kod\AgendaBundle\Entity\Rdv:private] => DateTime Object 
    	      ( [date] => 2015-10-08 08:06:00 [timezone_type] => 3 
    		[timezone] => Europe/Berlin 
    	      ) [rdvduree:Kod\AgendaBundle\Entity\Rdv:private] => 5H00 
    		[rdvfin:Kod\AgendaBundle\Entity\Rdv:private] => DateTime Object 
    			( [date] => 2015-10-08 08:06:00 [timezone_type] => 3 
    			  [timezone] => Europe/Berlin ) 
    			  [lieu_rdv:Kod\AgendaBundle\Entity\Rdv:private] => un rendez-vous [remarque:Kod\AgendaBundle\Entity\Rdv:private] => une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            $last_rdv = $this->getDoctrine()->getEntityManager()->getRepository('KodAnnuaireBundle:Contact')->getContactAvecRdv($date_limite);
            print_r($last_rdv);
    j'ai essayer ceci mais cela ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            foreach($last_rdv as $R)
            {
                echo $R->getRdvdebut();
     
     
            }
    ca donne comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Call to undefined method Kod\AnnuaireBundle\Entity\Contact::getRdvdebut() in /var/www/keokod/src/Kod/AgendaBundle/Controller/RdvController.php on line 9
    il n'aime pas que j'appelle les ces méthodes
    si vous avez une idée, je vos remercie d'avance

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2005
    Messages : 94
    Points : 53
    Points
    53
    Par défaut
    Bonjour,
    et $R[0]->getRdvdebut(); ?

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    merci de ta réponse


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Notice: Undefined offset: 0 in /var/www/keokod/src/Kod/AgendaBundle/Controller/RdvController.php line 85
    500 Internal Server Error - ErrorException
    j'ai peut être que ma requête est mal faite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        public function getContactAvecRdv($date_limite)
        {
            $qb = $this->createQueryBuilder('c')
                    ->leftJoin('c.Rdvs','r')
                    ->addSelect('r')
                                    ->where('r.rdvdebut >'.$date_limite);
     
     
            return $qb->getQuery()->getArrayResult();
        }

  4. #4
    Membre habitué
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2010
    Messages : 141
    Points : 157
    Points
    157
    Par défaut
    Vu ton erreur, elle existe bien au moins ta méthode getRdvdebut() dans ton entité Contact?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/10/2011, 05h44
  2. Réponses: 1
    Dernier message: 15/09/2008, 10h21
  3. Réponses: 8
    Dernier message: 13/08/2008, 21h58
  4. Réponses: 0
    Dernier message: 10/08/2008, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo