2010/2/27 Cyril <[email protected]>

> Bonjour à tous, j'ai actuellement un problème pour réaliser un
> formulaire d'administration pour les relations N:N.
> J'ai essayé de commencé mon apprentissage simplement en faisant un
> blog avec symfony et voici donc le modèle de données :
>
> (...)
>
> Cependant quand je vais sur l'administration, voici l'erreur : Widget
> "PostsTags" does not exist.
> Si quelqu'un pouvait m'expliquer comment faire, car là je ne vois
> vraiment pas.
> merci d'avance.
>
>
Bonjour

Beaucoup de la configuration qui se faisait avant directement dans le
generator.yml (v1.0/1.1) se fait maintenant directement dans la classe du
formulaire.

Il te faut modifier le widget affiché directement dans
/lib/form/doctrine/PostsForm.
class.php, pour positionner correctement ton widget.

Je pense aussi que ton plan n'est pas correct (ou pas assez détaillé).

Essayes de te baser sur cet exemple, que je viens de faire a partir de ton
plan. J'ai commenté une relation :

Post:
 actAs:                  { Timestampable: ~ }
 columns:

   titre:
     type: string()
     fixed: false
     unsigned: false
     notnull: true
     primary: false
   auteur_id:

     type: integer(4)
     fixed: false
     unsigned: false
     notnull: false
     default: '0'
     primary: false
 relations:
   # 1 to many
   Auteur:
      #La classe distante
      class:              User
      # L'alias utilisé sur la classe distante : Permet de faire
$user->getPosts() pour avoir tous les posts de l'utilisateur
      foreignAlias:       Posts
      # id local
      local:              auteur_id
      # id distant
      foreign:            id
      # Type de relation :
      # 1 post a 1 auteur
      type:               one
      # 1 auteur a plusieurs posts
      foreignType:        many
      # Si on efface l'auteur, tous les posts sont détruits
      onDelete:           CASCADE
   #many to many
   Tags:
      class:              Tag
      local:              post_id
      foreign:            tag_id
      type:               many
      foreignType:        many
      foreignAlias:       PostTags
      refClass:           PostTag
      onDelete:           CASCADE

PostTag:
  columns:
    post_id: { type: integer, primary: true }
    tag_id : { type: integer, primary: true }
 relations:
    Post:
      local:              post_id
      foreign:            id
      foreignAlias:       PostTags
      onDelete:           CASCADE
    Tag:
      local:              tag_id
      foreign:            id
      foreignAlias:       PostTags
      onDelete:           CASCADE

Ceci devrais t'aider, si j'ai pas fait d'erreurs...

Cordialement

Loïc

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à