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
-~----------~----~----~----~------~----~------~--~---

Reply via email to