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) :
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\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... }
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 ?
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... }
Partager