Formulaire et pseudo relation n-n (n-1 + 1-n)
Bonjour,
Je suis un peu perdu avec un cas qui me semble assez classique. J'ai fais pas mal de recherches, mais ça ne m'aide pas trop.
Voici mon cas : une base pour enregistrer des événements indésirables. Pour simplifier, il y a 3 étapes dans un process et un événement indésirable peut survenir sur 1 ou plusieurs étapes.
Le schéma de la base :
http://www.outils-sante.com/images/base.png
Le schema.yml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| Etape:
connection: doctrine
tableName: etape
columns:
etp_id_pk:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: false
etp_nom:
type: string(45)
fixed: false
unsigned: false
primary: false
notnull: false
autoincrement: false
relations:
ListeEtape:
local: etp_id_pk
foreign: lep_etape
type: many
Evenement:
connection: doctrine
tableName: evenement
columns:
evt_evenement_id_pk:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: false
evt_victime:
type: string(45)
fixed: false
unsigned: false
primary: false
notnull: false
autoincrement: false
relations:
ListeEtape:
local: evt_evenement_id_pk
foreign: lep_evenement
type: many
ListeEtape:
connection: doctrine
tableName: liste_etape
columns:
lep_evenement:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: false
lep_etape:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: false
lep_incriminee:
type: integer(4)
fixed: false
unsigned: false
primary: false
notnull: false
autoincrement: false
relations:
Etape:
local: lep_etape
foreign: etp_id_pk
type: one
Evenement:
local: lep_evenement
foreign: evt_evenement_id_pk
type: one |
Mon objectif est de pouvoir faire un CRUD sur les événements en déclarant les étapes.
J'ai généré un module evenement, je peux donc faire un CRUD tout simple pour les événements.
Maintenant, je veux que quand je crée un nouvel événement, je puisse déclarer les étapes incriminées.
Là les choses se gâtent.
Dans /lib/form/doctrine/base/BaseEvenementForm.class.php , j'ai tenté d'ajouter un formulaire :
Code:
1 2 3 4
| public function setup()
{
...
$this->mergeForm(new ListeEtapeForm()); |
Comme ça, je peux ajouter 1 étape... mais il faudrait que je puisse afficher 3 étapes.
Est-ce que quelqu'un pourrait me donner quelques billes de méthodologie? Quelques mots clés pour des recherche aussi.
Merci