No problem. --------------------- Nathan Rzepecki http://www.lionslair.net.au
maestro wrote: > Oppps, this is embarrassing. I was missing the autoIncrement: true, in > my message schema.yml. > Nathan thanx for your time.. > > On Mar 16, 10:53 pm, maestro <mustafa...@gmail.com> wrote: > >> but it is! it is right there in the db.. isn't this interesting! >> >> On Mar 16, 10:29 pm, Nathan Rzepecki <webmas...@lionslair.net.au> >> wrote: >> >> >>> That means it is not yet saved. >>> >>> --------------------- >>> Nathan Rzepeckihttp://www.lionslair.net.au >>> >>> maestro wrote: >>> >>>> sadly $this->getObject()->getId() is returning a null in my case... >>>> although the rest of the object values are there. >>>> >>>> On Mar 16, 8:13 pm, Nathan Rzepecki <webmas...@lionslair.net.au> >>>> wrote: >>>> >>>>> It is this line here that does it. >>>>> >>>>> $entry->setServerId($this->getObject()->getId()); >>>>> >>>>> within >>>>> >>>>> public function saveEmbeddedForms($con = null, $forms = null) >>>>> >>>>> Because by the time that is called the main object is then saved. >>>>> >>>>> --------------------- >>>>> Nathan Rzepeckihttp://www.lionslair.net.au >>>>> >>>>> maestro wrote: >>>>> >>>>>> Still stuck! >>>>>> >>>>>> Looking a the sfPropelForm save() it is clear that the call to >>>>>> saveEmbeddedForms comes after the main object is getting saved. I see >>>>>> it also happening in the log file. Could it be something to do with >>>>>> the begin and transaction calls that surrounding doSave and >>>>>> saveEmbeddedForms? I mean, maybe the id of the main object isn't >>>>>> available until the db transaction gets committed. But, then am doing >>>>>> the exact same thing else where and it is working fine. >>>>>> >>>>>> hmm, need to take a break.. >>>>>> >>>>>> On Mar 16, 7:10 pm, lionslair <webmas...@lionslair.net.au> wrote: >>>>>> >>>>>>> I finally cracked in. These two functions in my ServerForm class >>>>>>> >>>>>>> public function bind(array $taintedValues = null, array >>>>>>> $taintedFiles = null) >>>>>>> { >>>>>>> $ret = parent::bind($taintedValues, $taintedFiles); >>>>>>> foreach ($this->embeddedForms as $name => $form) { >>>>>>> $this->embeddedForms[$name]->isBound = true; >>>>>>> $this->embeddedForms[$name]->values = $this->values[$name]; >>>>>>> } >>>>>>> >>>>>>> return $ret; >>>>>>> } >>>>>>> >>>>>>> public function saveEmbeddedForms($con = null, $forms = null) >>>>>>> { >>>>>>> foreach($this->getEmbeddedForms() as $closeForm) >>>>>>> { >>>>>>> >>>>>>> $entry=$closeForm->save(); >>>>>>> $entry->setServerId($this->getObject()->getId()); >>>>>>> // mail('nat...@lionslair.net.au', 'debug', print_r >>>>>>> ($entry, true)); >>>>>>> $entry->save(); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> On Mar 16, 12:42 am, justin_davis <jdavis1...@gmail.com> wrote: >>>>>>> >>>>>>>> I'm doing something like this, and this is my solution: >>>>>>>> >>>>>>>> Let's say you have two forms, one is an sfGuardUser form (Form 1), the >>>>>>>> other is a Profile form (Form 2) (representing those two models). >>>>>>>> When a new user is created, a new profile must be also created that >>>>>>>> depends on that record (Profile depends on sfGuardUser): >>>>>>>> >>>>>>>> (this is sfGuardUserForm.class.php): >>>>>>>> >>>>>>>> $profileForm = new ProfileForm(); >>>>>>>> >>>>>>>> $profileForm->getObject()->setsfGuardUserId($this->getObject()); >>>>>>>> $this->embedForm('profile', $profileForm); >>>>>>>> >>>>>>>> You'll also want to unset the sfGuardUserId field: unset($profileForm >>>>>>>> ['sf_guard_user_id']); >>>>>>>> >>>>>>>> So, it's basically creating a ProfileForm, getting the object related >>>>>>>> to it, then telling symfony to set that object's sfUserGuardId to >>>>>>>> equal the sfGuardUser object that this class represents. >>>>>>>> >>>>>>>> Does that make sense? Hope this helps. I'm somewhat of a newb >>>>>>>> myself, so I may be telling you something that doesn't apply. >>>>>>>> >>>>>>>> Good luck! >>>>>>>> >>>>>>>> Justin >>>>>>>> >>>>>>>> On Feb 5, 4:25 pm, Timmy <m...@timothybowler.com> wrote: >>>>>>>> >>>>>>>>> I have two forms form 1 and form 2. Form 2 is embedded into form 1. On >>>>>>>>> save form1 must be saved as a new row and therefore recieving a >>>>>>>>> primary key, Afterwards this foreign key needs to be injected into >>>>>>>>> form 2 before it can save. >>>>>>>>> >>>>>>>>> The only way i have figured out at the mo is after the form is valid. >>>>>>>>> Instantiate the two models, populate them, add form2 model to form 1 >>>>>>>>> model then save. >>>>>>>>> >>>>>>>>> Isn't there an easier way? >>>>>>>>> >>>>>>>>> Thanx >>>>>>>>> >> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---