Yeah, good idea to check your validationErrors array when a save doesn't work and you're scratching your head as to what's happening :)
On Aug 21, 8:47 am, Greg Skerman <gsker...@gmail.com> wrote: > found the problem... > EventComment had a validation rule on event_id being numeric... seemed to > work when the relationship was defined as hasMany but fell over when it was > hasOne. > > removed the validation rule (input never entered into a user form anyway), > and it seems to be working fine now. > > thanks for your help, the array structure works a treat..... > > > > > > > > On Sun, Aug 21, 2011 at 5:02 PM, WebbedIT <p...@webbedit.co.uk> wrote: > > Difficult to call without seeing more of the source code. > > > I assume you call a different function to save the EventComment as the > > one you've shown appears to be for saving EventTransaction, if this is > > a universal save method why does it's name reference Transactions? > > > Does your debugger register that you are in fact looping through the > > full data array, do you have debug turned on in cake and is it > > attempting to run the save at all? > > > HTH, Paul. > > > On Aug 21, 3:58 am, Greg Skerman <gsker...@gmail.com> wrote: > > > Ok that worked to a degree :) > > > > my array now looks like this: > > > > Array > > > ( > > > [1] => Array > > > ( > > > [Event] => Array > > > ( > > > [event_type_id] => 2 > > > ) > > > > [EventTransaction] => Array > > > ( > > > [inventory_type_id] => 2867 > > > [amount] => 123123 > > > ) > > > > ) > > > > [2] => Array > > > ( > > > [Event] => Array > > > ( > > > [event_type_id] => 3 > > > ) > > > > [EventComment] => Array > > > ( > > > [comment] => asdasd > > > ) > > > > ) > > > > ) > > > > And I'm throwing the whole thing against a function which does this: > > > > function saveTransactionEvent($data) { > > > foreach ($data as $row) { > > > Debugger::dump($row); > > > $this->saveAll($row); > > > } > > > } > > > > The first entry gets successfully saved, the second one doesn't even > > run.. > > > > Both child models are bound to the Event model like this: > > > $this->Event->bindModel( > > > array('hasOne' => array('EventTransaction', > > > 'EventComment')), false > > > ); > > > > So they should be bound for the remainder of the request - but the > > > EventComment, and its parent event never get saved.... > > > > I've scaffolded an EventComment controller, and that will write a > > > comment fine... any reason why its not working in this context? > > > > On Sun, Aug 21, 2011 at 4:09 AM, WebbedIT <p...@webbedit.co.uk> wrote: > > > > A good related blog post from teknoid: > > > > >http://nuts-and-bolts-of-cakephp.com/2009/03/26/saveall-with-multiple. > > .. > > > > > -- > > > > Our newest site for the community: CakePHP Video Tutorials > > > >http://tv.cakephp.org > > > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organdhelp > > > > others with their CakePHP related questions. > > > > > To unsubscribe from this group, send email to > > > > cake-php+unsubscr...@googlegroups.com For more options, visit this > > group > > > > athttp://groups.google.com/group/cake-php > > > -- > > Our newest site for the community: CakePHP Video Tutorials > >http://tv.cakephp.org > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help > > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > > cake-php+unsubscr...@googlegroups.com For more options, visit this group > > athttp://groups.google.com/group/cake-php -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php