Le schema "corrigé" non pas que ce que tu ais mis soit fondamentalement faux, mais il ne sert à rien de mettre les options par défauts. De plus, sans clef primaire définie doctrine en crée une auto-incrémenté sur integer 4.
Dernière chose, les liaisons ne doivent être déclaré que sur un seul côté de la table, les mot clef foreign.... correspondent à l'autre côté de la relation. Si tu définis ta relation sur les deux tables, tu vas vite mourir !!!
Par convention, le nom de la clef distante commande par le nom de la table et fini par _id.
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
|
table1:
actAs:
Sluggable:
unique: true
fields: [title]
canUpdate: true
columns:
table2_id:
type: integer(4)
title:
type: string(200)
default: ''
notnull: true
description:
type: string()
default: ''
notnull: true
relations:
table2:
local: table2_id
foreign: id
foreignAlias: table1s
table2:
columns:
title:
type: string(200)
description:
type: string(255)
default: ''
notnull: true |
Par convention, les noms de tables se terminent sans "s" si "s" final il y a c'est que l'objet va retourner une collection d'enregistrement.
Ici, la relation que tu as mis en place est une relation 1-n et non pas n-n. Note que le many n'est pas précisé, c'est l'option par défaut.
Le fixture est faux vu qu'il considère qu'il peut y avoir plusieurs enregistrement de table1 dans table2 alors que le schema donné indique le contraire.
Partager