Bonjour à tous,

Suite à un autre sujet que j'ai fait, je me suis aperçu que j'étais plutôt mal parti (merci mimi68), mieux vaut faire son schéma puis sa base que l'inverse (non ?), du coup, je suis allé en suivant l'exemple de Jobeet et la doc de Doctrine. J'obtiens ça (j'ai enlevé les champs inutiles) :

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
Categorie:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    libelle:
      type: string(45)
  relations:
    Users:
      foreignAlias: Categories
      class: Site
      refClass: CategorieSite
CategorieSite:
  columns:
    categorie_id:
      type: integer(4)
      primary: true
    site_id:
      type: integer(4)
      primary: true
    valeur:
      type: string(45)
  relations:
    Categorie:
      foreignAlias: CategorieSites
    Site:
      foreignAlias: CategorieSites
Commentaire:
  actAs:
    Timestampable:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    utilisateur_id:
      type: integer(4)
    site_id:
      type: integer(4)
    texte:
      type: string()
  relations:
    Utilisateur:
      foreignType: one
    Site:
      foreignType: one
Parametre:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    libelle:
      type: string(150)
  relations:
    Users:
      foreignAlias: Parametres
      class: Site
      refClass: ParametreSite
ParametreSite:
  columns:
    parametre_id:
      type: integer(4)
      primary: true
    site_id:
      type: integer(4)
      primary: true
    valeur:
      type: string(45)
  relations:
    Parametre:
      foreignAlias: ParametreSites
    Site:
      foreignAlias: ParametreSites
Site:
  actAs:
    Timestampable:
    I18n:
      fields: [titre, description]
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    utilisateur_id:
      type: integer(4)
    type_id:
      type: integer(4)
    titre:
      type: string(150)
  relations:
    User:
      foreignAlias: Sites
    Type:
      foreignAlias: Sites
Type:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    libelle:
      type: string(150)
  relations:
    Site:
      local: id
      foreign: type_id
      type: many
Utilisateur:
  actAs:
    Timestampable:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    email:
      type: string(254)
      notnull: true
  relations:
    Site:
      local: id
      foreign: utilisateur_id
      type: many
      onDelete: CASCADE
Vote:
  actAs:
    Timestampable:
  columns:
    id:
      type: integer(4)
      primary: true
      autoincrement: true
    site_id:
      type: integer(4)
    utilisateur_id:
      type: integer(4)
    note:
      type: integer(4)
  relations:
    Utilisateur:
      foreignType: one
    Site:
      foreignType: one
J'aurai juste aimé que quelqu'un y jette un coup d'oeil car je ne suis absolument pas sur de mes relations.

Merci