I just tried but it doesn't seem to solve my problem... it still tries to save the child object with a null key
thanks anyway. On Jun 5, 1:25 am, Рустам <[email protected]> wrote: > try thishttp://trac.symfony-project.org/ticket/6374 > > On Fri, Jun 5, 2009 at 7:26 AM, Raphael Guillet > <[email protected]>wrote: > > > Hi all, > > > I'm loosing my hair on this one, I have succesfully nested forms before but > > this case is a bit specific. I only have this problem with Doctrine, I works > > fine with Propel. > > > Here is my data model: I have a parent class "Product" and 2 child class > > "Book" and "Video" > > the primary key of the 2 children is also the foreign key (referencing > > their parent) so it does not auto increment. > > > The "parent" object: > > > Product: > > columns: > > id: > > type: integer > > primary: true > > autoincrement: true > > type: string(20) > > title: string(255) > > > The "child" objects: > > > Book: > > columns: > > product_id: > > type: integer > > primary: true > > type: string(20) > > editor: string(60) > > pages: integer(4) > > relations: > > Product: > > local: product_id > > foreign: id > > type: one > > foreignType: one > > > Video: > > columns: > > product_id: > > type: integer > > primary: true > > format: string(20) > > editor: string(60) > > length: integer > > relations: > > Product: > > local: product_id > > foreign: id > > type: one > > foreignType: one > > > I want to nest the correct child form in the parent form, depending on the > > parent type value (book or video). > > > when I create a new product, my executeNew gives it a type (either book or > > video) > > in the ProductForm, I embed a child form depending on this type by using a > > getChildForm() function I made. > > $this->embedForm('child', $this->getChildForm()); > > > the nesting works (the correct nested form appears) > > > I overwrote the ProductForm::bind() function to add this line: > > > $this->embeddedForms['child']->getObject()->setProduct($this->getObject()); > > > this is supposed to link the child object (from the embedded form) to its > > parent object (the main form). > > > but when I save a new product, the child object is not linked to the parent > > Product and I get a null primary key SQL error (Doctrine tries to save my > > child object with a null product_id). > > > When I update a product which already has a child form, everything works > > fine... (the correct nested form appears with the data and everything is > > succesfully saved) > > > Any idea anyone? > > > If you need more details on my code I'll post it, I didn't want to scare > > people away by dumping all my code... I hope I'm just missing something > > obvious... > > > Thanks a lot! > > > Raphael --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---
