Il te faut préciser que le champ parent_id est une clé étrangère pointant
sur ta table page
Par ex. :
{ type: integer, size: 11, required: true, foreignTable: page,
foreignReference: id, onDelete: restrict }Par contre, si tu as un seul contenu dans ta page, il vaut mieux faire une table plutôt que deux. A+ > -----Message d'origine----- > De : [email protected] > [mailto:[email protected]] De la part de n...@oj > Envoyé : mardi 24 mars 2009 17:02 > À : Symfony-fr > Objet : [symfony-fr] Admin generator, liste déroulante vers > une clé locale > > > Bonjour à tous. > > J'éprouve quelques difficultés dans la configuration de mon > interface d'admin. > > Je ne cherche pas à faire quelque chose bien compliqué, mais je but... > Pour commencer, voici le schéma que j'utilise : > > propel: > page: > _attributes: { phpName: Page } > id: { type: integer, required: true, primaryKey: true, > autoIncrement: true } > parent_id: { type: integer, required: true } > name: { type: varchar(50), required: true } > visible: { type: boolean } > page_order: { type: integer, default: 0 } > created_at: > updated_at: > > content: > _attributes: { phpName: Content } > id: { type: integer, required: true, primaryKey: true, > autoIncrement: true } > page_id: { type: integer, foreignTable: page, > foreignReference: id, onDelete: cascade } > title: { type: varchar(60) } > content: { type: longvarchar } > visible: { type: boolean } > created_at: > updated_at: > > Ma table "page" contient toutes les pages du site, et > "content" le contenu des différentes pages. "page" contient > un "id", et un "parent_id", pour dire qu'une page est fille > d'une autre. Cela me permet d'établir une hiérarchie entre > les pages du site, pour générer ensuite un menu. > > Donc, là où je coince, c'est lorsque je crée ou j'édite une "page". > Bien sûr, l'id ne peut pas être modifié, en revanche, "parent_id" > apparait comme un champ texte où l'utilisateur entre un > chiffre entre qui correspond à l'ID d'une page déjà créée, ou > 0 pour dire que c'est la racine. > > Je ne veux pas ce champ, mais une liste déroulante, pour > éviter qu'un id inexistant soit inséré. Je veux par ailleurs > ma liste contienne le "name" de ma page, et pas les ID, parce > que ça parle pas trop. > > Je me disais que la fonction __toString solutionnerait le > problème, mais elle n'a d'intérêt qu'avec les clés étrangères > j'ai l'impression. > > Sauriez-vous comment résoudre le problème ? > > Je vous remercie par avance ;) > > > > --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" de Google Groupes. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/symfony-fr?hl=fr -~----------~----~----~----~------~----~------~--~---
