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 :


Le schema.yml :
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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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