2009-12-01 3 views
1

je le fichier schema.yml suivant:Dépannage « colonne clé n'existe pas dans le tableau » lors de la construction de schema.yml

Page: 
    actAs: 
    I18n: 
     fields: [name,html,urlShortDesc] 
    columns: 
    name: string 
    gender: 
     type: enum 
     values: [html, photoGallery] 
     default: html 
    html: string 
    urlShortDesc: string 
    section_id: 
     type: integer 
     notnull: true 
    relations: 
    Section: 
     foreignAlias: Pages 
    SubPage: 
     class: Page 
     local: subpage 
     foreign: id 
     type: one 

Mais, quand j'exécute la commande build-all-reload, le message d'erreur suivant est affichée:

SQLSTATE [42000]: erreur de syntaxe ou violation d'accès: 1072 colonne clé 'sous-page' n'existe pas dans le tableau

Je suis en train implémenter une classe d'auto-relation.

Répondre

2

Je pense que vous voulez avoir ce que vous avez énumérés:

SubPage: 
    class: Page 
    local: subpage 
    foreign: id 
    type: one 

mais vous avez besoin d'une colonne id (étranger: id) pour la clé primaire de la table de page et une colonne appelée « sous-page » qui contient la référence (locale: sous-page) à l'enfant. Vous pouvez donc avoir Page avec id = "100" contenant un champ appelé sous-page qui contient un id = "200" et que "200" est la clé réelle (id) d'une page différente.

MISE À JOUR: De commentaire à modifier le fichier de schéma d'origine:

Page: 
    actAs: 
    I18n: 
     fields: [name,html,urlShortDesc] 
    columns: 
    name: string 
    gender: 
     type: enum 
     values: [html, photoGallery] 
     default: html 
    html: string 
    urlShortDesc: string 
    section_id: 
     type: integer 
     notnull: true 
    id: 
     type: integer 
     notnull: true 
    subpage: 
     type: integer 
     notnull: false 
    relations: 
    Section: 
     foreignAlias: Pages 
    SubPage: 
     class: Page 
     local: subpage 
     foreign: id 
     type: one 

S'il vous plaît noter que je fais des hypothèses sérieuses sur votre schéma, y ​​compris:

  • vous voulez id que votre clé primaire et que vous prendrez soin de l'établir (vous pouvez vouloir l'auto-incrément: vrai dans le schéma).
  • est facultative sous-page en relation avec l'enfant
  • SECTION_ID est pas votre clé primaire
+0

Salut! Tout d'abord, merci pour votre aide. Désolé mais pouvez-vous "insérer" votre suggestion sur mon schéma, parce que je n'ai pas beaucoup d'expérience en utilisant Doctrine et cela me déroute un peu. Merci, Meilleures salutations! –

+0

Mise à jour de la réponse ci-dessus –

Questions connexes