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 :

Ajout de champs à une entité


Sujet :

Doctrine2 PHP

  1. #1
    Candidat au Club
    Inscrit en
    Août 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Ajout de champs à une entité
    Salut à tous !
    Je suis débutant sur Symfony 2 et je suis le cours de winzou (réalisation d'un blog en symfony 2).
    Mais la je bloque :s
    J'ai donc mes entités Article, Competence et ArticleCompetence entre les deux.
    ArticleCompetence comporte un attribut : niveau.
    Un article peut avoir plusieurs compétence et une compétence peut être attribuée à plusieurs articles.
    Mes entités Article (inverse) et ArticleCompetence (propriétaire) ont une relation unidirectionnelle en OneToMany vers ArticleCompetence.
    Jusque là, tout va bien.

    J'ai donc mes entités créées, ainsi que mes repository et mon contrôleur qui gère tout ça comme il faut.

    Maintenant, j'aimerais pouvoir faire un $article->getCompetence et donc passer cette relation en bidirectionnelle.
    J'ai donc dans mon entité ArticleCompetence l'attribut $article avec l'annotation inversedBy="articleCompetences"
    Et dans Article j'ai $articleCompetences avec l'annotation mappedBy="article"
    Les getters et setters associés sont ok.


    Voilà.
    Maintenant j'aimerais ajouter la compétence avec l'id 2 à un article.
    Dans mon controleur j'ai donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public function attachCompetenceAction(Article $article)
      {   
        $em = $this->getDoctrine()->getManager();    
        $competence = $em->getRepository("SdzBlogBundle:ArticleCompetence")->find(2);
     
        $article->addArticleCompetence($competence);
        $em->flush();
     
        return new Response('<html><body><h1>Compétence 2 attachée à l\'article '.$article->getId().'</h1></body></html>');
      }
    Mais évidemment quand je lance mon attachCompetence, j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Binding an entity with a composite primary key to a query is not supported. You should split the parameter into the explicit fields and bind them separately.
    ArticleCompetence est composée d'une double clé : l'id de Article et l'id de Competence.

    Comment puis-je faire pour pouvoir ajouter simplement une compétence à un article dans le cadre d'une relation bidirectionnelle ?
    J'ai l'impression de m'y être mal pris et d'avoir fait nawak.
    Je précise que je suis novice

    Merci aux âmes charitables !

  2. #2
    Candidat au Club
    Inscrit en
    Août 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bon en fait c'est bon.
    Il fallait simplement partir de ArticleCompetence et faire un setArticle et un setCompetence avant de persister le tout.
    Merci quand même =)

  3. #3
    Membre régulier Avatar de Fahelis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2014
    Messages : 77
    Points : 87
    Points
    87
    Par défaut
    Pense à passer ton sujet en résolu pour éviter que d'autres gens après moi perde leur temps à lire ton message pour rien
    Pensez au bouton quand votre problème est réglé afin de ne pas faire perdre leur temps aux gens qui essayent gentiment d'aider les autres

  4. #4
    Candidat au Club
    Inscrit en
    Août 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oups, mes excuses monseigneur.
    Je m'en occupe =)

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/08/2010, 16h48
  2. [DAO] Access 2002 - ajouter des champs à une clé
    Par helje dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/12/2008, 10h49
  3. Réponses: 3
    Dernier message: 14/02/2008, 11h01
  4. Ajout de champs à une table via un script ?
    Par mathias dans le forum Access
    Réponses: 1
    Dernier message: 05/12/2005, 23h02
  5. [debutant] Ajouter un champ à une table.
    Par castaka dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2005, 10h08

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