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 :

Problème de relation ManyToOne


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut Problème de relation ManyToOne
    Bonjour à tous,

    gros problème, si vous pouvez me sortir de cette impasse

    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
     
            $vmember = new Vmember();
            $vmember = $this->getDoctrine()    
            ->getRepository('AcmePageBundle:Vmember')
            ->findById(1);
            if (!$vmember) {
            throw $this->createNotFoundException('$vmember non trouvé avec $vmember = '.$user->getUsername());
            }      
     
            $page = new Page();
            $page->setEtat(1);
            $page->setCode($this->getGeneratedCode($user->getId()));     
            $page->setVmember($vmember);   //  <- ---------------- ERREUR      
            $em = $this->getDoctrine()->getEntityManager();
            $em->persist($page);
            $em->flush();

    j'ai une foutu erreur à ce niveau : $page->setVmember($vmember);
    l'instance de $vmember existe bien, j'ai vérifié avec debug.
    voici l'erreur :
    Catchable Fatal Error: Argument 1 passed to Acme\PageBundle\Entity\Page::setVmember() must be an instance of Acme\PageBundle\Entity\Vmember, array given, called in D:\Project\src\Acme\PageBundle\Controller\PageManagementController.php on line 60 and defined in D:\Project\src\Acme\PageBundle\Entity\Page.php line 112

    mon entité page.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
        /**
         * @var \Vmember
         *
         * @ORM\ManyToOne(targetEntity="Vmember")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="vmember_id", referencedColumnName="id")
         * })
         */
        private $vmember;
    ...


    ça fait 2 jours que je cherche je vais devenir fou

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour,
    la méthode findById semble renvoyer un tableau de résultat, alors que tu souhaiterais ne récupérer qu'un résultat unique
    $vmember = $this->getDoctrine()
    ->getRepository('AcmePageBundle:Vmember')
    ->findById(1);
    essaie comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $vmember = $this->getDoctrine()    
            ->getRepository('AcmePageBundle:Vmember')
            ->find(1);

  3. #3
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut


    c'était bien ça.
    donc find renvois un objet et findBy un tableau d'objet.


    grand merci !!!!!

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

Discussions similaires

  1. [2.x] [FOSUser] Problème avec les relations manyToOne
    Par Reysing dans le forum Symfony
    Réponses: 2
    Dernier message: 19/11/2013, 12h12
  2. Réponses: 3
    Dernier message: 01/08/2012, 19h59
  3. Problème de relation entre deux tables + autre chose
    Par Goth_sensei dans le forum Langage SQL
    Réponses: 7
    Dernier message: 30/03/2006, 20h49
  4. [conception] Requête de sélection problèmes de relations
    Par snoopy69 dans le forum Modélisation
    Réponses: 26
    Dernier message: 08/11/2005, 14h23
  5. Gestion club sportif (problème de relations )
    Par jemaflo dans le forum Access
    Réponses: 3
    Dernier message: 03/10/2005, 23h00

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