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

Symfony PHP Discussion :

Relation entre deux entités intermédiaires


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Relation entre deux entités intermédiaires
    Bonjour,

    J'ai un problème pour relier deux entités entre elles.

    J'ai cinq entités :
    ProduitA, ProduitB, User, UserProduitA et UserProduitB. Les deux dernières sont des entités "intermédiaires" qui contiennent les attributs des relations entre ProduitA, ProduitB et User.

    J'aimerais créer une relation ManyToOne entre UserProduitA et UserProduitB mais je n'y arrive pas. Quand j'essaie de générer la base de donnée, j'ai une erreur : Single id is not allowed on composite primary key in entity.

    UserProduitA (simplifiée et sans la relation) :
    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
    /**
     * @ORM\Entity(repositoryClass="Gam\UserBundle\Entity\UserProduitARepository")
     */
    class UserProduitA
    {
      /**
       * @ORM\Id
       * @ORM\ManyToOne(targetEntity="Gam\FicheBundle\Entity\ProduitA")
       */
      private $produita;
     
      /**
       * @ORM\Id
       * @ORM\ManyToOne(targetEntity="Gam\UserBundle\Entity\User")
       */
      private $user;
     
      /**
       * @ORM\Column(type="string", length=1, nullable=true)
       */
      private $attribut;
     
      etc...
    }
    UserProduitB (simplifiée et sans la relation) :
    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
    /**
     * @ORM\Entity(repositoryClass="Gam\UserBundle\Entity\UserProduitBRepository")
     */
    class UserProduitB
    {
      /**
       * @ORM\Id
       * @ORM\ManyToOne(targetEntity="Gam\FicheBundle\Entity\ProduitB")
       */
      private $produitb;
     
      /**
       * @ORM\Id
       * @ORM\ManyToOne(targetEntity="Gam\UserBundle\Entity\User")
       */
      private $user;
     
      /**
       * @ORM\Column(type="string", length=1, nullable=true)
       */
      private $attribut;
     
      etc...
    }
    Le problème est que je ne peux pas ajouter l'id nécessaire à la relation ManyToOne, sinon j'ai cette erreur. Une idée de comment je peux créer cette relation ?

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Points : 183
    Points
    183
    Par défaut
    SAlut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /**
       * @ORM\Id
       * @ORM\ManyToOne(targetEntity="Gam\FicheBundle\Entity\ProduitB")
       */
    Enlève @ORM\id

    Check la doc stp : http://doctrine-orm.readthedocs.org/...unidirectional
    Là t'es en train de demander un clé composite (2 id etrangers) regarde ici http://doctrine-orm.readthedocs.org/...mary-keys.html

Discussions similaires

  1. [2.x] Symfony : relation entre deux entités
    Par rani20 dans le forum Symfony
    Réponses: 7
    Dernier message: 25/12/2011, 22h01
  2. [MCD] 5 relations entre deux entités : possible ?
    Par feugana1 dans le forum Schéma
    Réponses: 2
    Dernier message: 14/09/2010, 20h35
  3. Attribut dans une relation entre deux entités
    Par garzouille dans le forum Django
    Réponses: 1
    Dernier message: 08/07/2008, 10h16
  4. [EJBQL] [CMP] Relation entre deux beans
    Par salome dans le forum Java EE
    Réponses: 1
    Dernier message: 11/07/2005, 23h50
  5. Relation entre deux tables
    Par manel007 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 04/03/2005, 16h54

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