Hello,

Quand je lis ton code, à aucun moment tu ne dis à PHP de lier $newpost
à $collection.

A ta place, j'essayerai quelque chose du genre
$newcat->Posts[] = $newpost ;

D'une autre manière, on peut aussi décrire la relations de Post vers
Category pour pouvoir écrire ensuite :

$newpost->Categories[] = $newcat ;

Dans ce cas, peut-être que $newpost->Categories = $collection peut
également fonctionner. A vérifier.

@+

NicoD.

On 29 avr, 11:08, Jérôme <zorritostu...@gmail.com> wrote:
> J'ai reussi en faisant comme ceci.
>
> Me permet de
> /*$newpost = new Post();
> $newpost->setTitle('DSDSQDQDQSDQDQDSQSDQS');
> //Initialiser les données du post
> $newcat = new Category();
> $newcat->setName('KOKOKOKOKOOKKO');
>
> $collection = new Doctrine_Collection('Category');
> $collection->add($newcat);
> $newpost->save();
>
> Maintenant j'ai donc créé un formulaire d'un post avec un embed pour
> ajouter des catégories, cependant quand je rempli mon embed, la
> catégory est bien inséré dans ma base mais la table PostCategory n'est
> pas rempli, donc ma catégorie n'est pas directement relié à mon post.
>
> Des idées?
>
> Merci
>
> On 28 avr, 18:42, Jérôme <zorritostu...@gmail.com> wrote:
>
>
>
> > Bonjour.
>
> > J'ai une relation many to many avec Post > Category > Postcategory
>
> > J'aimerais donc créer un post et lui associer une catégorie dans un
> > premier temps.
>
> > Je fais ceci.
>
> > $newpost = new Post();
> > $newpost->setTitle('DSDSQDQDQSDQDQDSQSDQS');
> > //Initialiser les données du post
> > $newcat = new Category();
> > $newcat->setName('KOKOKOKOKOOKKO');
> > //Initialiser les données de la catégorie
> > $newpost->setCategories($newcat);
> > $newpost->save();
>
> > J'obtiens un méchant 500 | Internal Server Error |
> > Doctrine_Record_Exception
> > Couldn't call Doctrine_Core::set(), second argument should be an
> > instance of Doctrine_Collection when setting many-to-many references..
>
> > Vous avez des idées?
> > Merci
>
> > Post:
> >   actAs:
> >     Sluggable:
> >       unique: true
> >       fields: [title]
> >       canUpdate: true
> >       notnull: true
> >   columns:
> >     id:
> >       type: integer(8)
> >       primary: true
> >       notnull: true
> >       autoincrement: true
> >     author_user_id:
> >       type: integer(8)
> >       notnull: true
> >   relations:
> >     PostAuthor:
> >       class: sfGuardUser
> >       local: author_user_id
> >       foreign: id
> >       type: one
> >       foreignType: many
> >       foreignAlias: Posts
>
> > Category:
> >   actAs:
> >     Sluggable:
> >       unique: true
> >       fields: [name]
> >       canUpdate: true
> >       notnull: true
> >   columns:
> >     id:
> >       type: integer(8)
> >       primary: true
> >       notnull: true
> >       autoincrement: true
> >     name:
> >       type: string(32)
> >       notnull: true
> >     description:
> >       type: clob
> >     parent:
> >       type: integer(8)
> >       notnull: true
> >       default: 0
> >     count:
> >       type: integer(4)
> >       notnull: true
> >       default: 0
> >   relations:
> >     Posts:
> >       class: Post
> >       foreignAlias: Categories
> >       refClass: PostCategory
> >       local: cat_id
> >       foreign: id
>
> > PostCategory:
> >   columns:
> >     post_id:
> >       type: integer(8)
> >       primary: true
> >       notnull: true
> >     cat_id:
> >       type: integer(8)
> >       primary: true
> >       notnull: true
> >   relations:
> >     Post:
> >       class: Post
> >       local: post_id
> >       foreign: id
> >       foreignAlias: PostCategories
> >       onDelete: CASCADE
> >     Category:
> >       class: Category
> >       local: cat_id
> >       foreign: id
> >       foreignAlias: PostCategories
> >       onDelete: CASCADE
>
> > --
> > Vous recevez ce message, car vous êtes abonné au groupe Google 
> > Groupes Symfony-fr.
> > Pour envoyer un message à ce groupe, adressez un e-mail 
> > à symfony...@googlegroups.com.
> > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
> > symfony-fr+unsubscr...@googlegroups.com.
> > Pour plus d'options, consultez la page de ce 
> > groupe :http://groups.google.com/group/symfony-fr?hl=fr
>
> --
> Vous recevez ce message, car vous êtes abonné au groupe Google 
> Groupes Symfony-fr.
> Pour envoyer un message à ce groupe, adressez un e-mail 
> à symfony...@googlegroups.com.
> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
> symfony-fr+unsubscr...@googlegroups.com.
> Pour plus d'options, consultez la page de ce 
> groupe :http://groups.google.com/group/symfony-fr?hl=fr

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

Répondre à