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
-~----------~----~----~----~------~----~------~--~---

Répondre à