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 <[email protected]> wrote:
> but it is! it is right there in the db.. isn't this interesting!
>
> On Mar 16, 10:29 pm, Nathan Rzepecki <[email protected]>
> 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 <[email protected]>
> > > 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 <[email protected]> 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('[email protected]', 'debug', print_r
> > >>>> ($entry, true));
> > >>>>       $entry->save();
> > >>>>     }
> > >>>>   }
>
> > >>>> On Mar 16, 12:42 am, justin_davis <[email protected]> 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 <[email protected]> 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 [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
-~----------~----~----~----~------~----~------~--~---

Reply via email to