Bonjour,

Je réalise une application web avec Symfony 2 à partir d'une base de données existante.

Je dois mettre en place une entité ayant une clé primaire composée de 2 clés étrangères.

Exemple :

Entite1 avec une clé primaire composée : propriete1 (PK), propriete2 (PK)
Entite2 avec clé primaire composée des 2 clé étrangères : propriete1 (PK FK), propriete2 (PK FK), propriete3 (PK)

Je ne sais pas comment mettre en place l'association :

Dans l'entité 2 je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
/**
* @ORM\ManyToOne(targetEntity="Entite1")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="propriete1", referencedColumnName="propriete1"),
* @ORM\JoinColumn(name="propriete2", referencedColumnName="propriete2")
*@ORM\Id
* })
*/
 
private $entite1;
Mais j'obtiens une erreur :

It is not possible to map entity
ExempleBundle\Entity\Entite1' with a composite primary key as part of the primary key of another entity 'ExempleBundle\Entity\Entite2#entite1
Comment gérer proprement ce genre d’association avec Doctrine

J'ai essayé de suivre cette exemple mais j'ai pas bien compris : http://docs.doctrine-project.org/pro...mic-attributes

Pouvez-vous donner un exemple sur 2 entités avec un cas similaire et surtout sur comment faire une jointure dans ce cas là.

Merci par avance.

Birzat


Est ce que Doctrine gère ce genre de relation ?