Hi, I never played with ArrayAccess interfaces.
$authors = clone $tutorial->get('authors'); //might not work, dunno if Doctrine_Collection have its __clone method; anyway its not the purpose $tutorial->get('authors')->delete(); //delete associations from this tuto to all its authors $tutorial->get('authors')->add($new_author); //must have $new_author->save() == 1 for object to have an ID; (you can test ->state()==Doctrine_Record::CLEAN to know if you have to save it); its the responsability of the Doctrine_Collection object given by ->get('authors') -when configured correctly and well used- to understand that it is a m:m association class and to act this way (thus matching what have to be matched; you'll not have two equivalent record-association ie two AuthorTutorial with the same values until you really want and code it -like using versionable on this association class, dunno if working btw-). About the error, you might try to save an object which is in fact an array (hydrating a record as an array somewhere and using it as an object ?). Cheers, Before Printing, Think about Your Environmental Responsibility! Avant d'Imprimer, Pensez à Votre Responsabilitée Environnementale! On Fri, Apr 30, 2010 at 11:57 PM, comb <sa...@gmx.net> wrote: > ok.. shame on me.. it works with: > $author_tutorial = new AuthorTutorial(); > $author_tutorial->author_id = $author->getId(); > $author_tutorial->tutorial_id = $tutorial->getId(); > $author_tutorial->save(); > > But how do I check for duplicates - if the $author is already linked > with the tutorial? Do I need to do a SELECT manually or is their some > function like: $tutorial->hasAuthor($author)? > > On 30 Apr., 23:40, comb <sa...@gmx.net> wrote: > > Hi! > > > > I have a tutorial and author model in a many-to-many relation > > (AuthorTutorial). > > Now I want to add a author to a concrete tutorial which already has > > authors, without duplicates. > > How do I do that? > > > > I tried s/th like this: > > // temporarily save old authors: > > $authors = $tutorial->getAuthors(); > > // remove all authors: > > $tutorial->AuthorTutorial->delete(); > > // add author: > > $authors[] = $current_author; > > // add all authors again: > > $trick->setAuthors($authors); > > > > But this ends up in a "SQLSTATE[23000]: Integrity constraint > > violation: 1048 Column 'author_id' cannot be null"-Error. :-( > > If I use $authors[] = $current_author->getId(); instead i get a "Fatal > > error: Call to a member function save() on a non-object" > > > > Any help will be appreciated > > comb > > > > -- > > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > > > You received this message because you are subscribed to the Google > > Groups "symfony users" group. > > To post to this group, send email to symfony-users@googlegroups.com > > To unsubscribe from this group, send email to > > symfony-users+unsubscr...@googlegroups.com<symfony-users%2bunsubscr...@googlegroups.com> > > For more options, visit this group athttp:// > groups.google.com/group/symfony-users?hl=en > > -- > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > You received this message because you are subscribed to the Google > Groups "symfony users" group. > To post to this group, send email to symfony-users@googlegroups.com > To unsubscribe from this group, send email to > symfony-users+unsubscr...@googlegroups.com<symfony-users%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/symfony-users?hl=en > -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en