[Doctrine] plusieurs many-to-many avec une seule table
Bonsoir,
J'ai une table "Employee" et une table "Options". La table "Options" définit une liste d'options pour différents champs concernant l'employé. Par exemple le champ "studies", à valeur unique, pourra prendre une valeur parmi toutes celles dans "Options" qui ont pour type = "studies".
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Employee
id
name
service
position
studies
Options
id
type ("studies", "position", "service", "competence", "project", ...)
name |
En plus de ça, mon employé a plusieurs "champs" (entre guillemets) qui peuvent avoir des valeurs multiples, genre "competences", "projects" (et d'autres champs).
Donc j'ai créé une table de jointure "employee_options" qui définit :
Code:
1 2 3
| employee_id
option_id
type ("competences", "projects", etc.) |
Ce que j'aimerais, c'est avoir une relation nommée "Competences" qui lie à un employé une série de valeurs dans la table "employee_options" dont le type vaut "competences", et pouvoir avoir une autre relation nommée par exemple "Projects" qui lie à un employé une série de valeurs dans la table "employee_options" dont le type vaut "projects".
Donc en gros il me faudrait une clef étrangère (que j'ai : employee_id), mais aussi une seconde contrainte sur la valeur du champ "type"...
Est-ce faisable ?