If using MySQL are your tables InnoDB? (MyISAM tables do not support
transactions, so it might look like it's working, but you'll run into
problems).
On Dec 2, 12:12 am, jsmale <jason.sm...@gmail.com> wrote:
> Hi,
>
> After extensive reading, I've followed teknoid's example (http://
> teknoid.wordpress.com/2008/09/24/saving-extra-fields-in-the-join-table-
> for-habtm-models/) on how to save an extra field on a join table.
>
> Just one problem :( Here's the data array being saved:
> ------------------------------
> Array(
> [Payment] => Array(
> [registry_id] => 10
> [name] =>
> [email] =>
> [message] =>
> [method] =>
> [amount] => 50
> )
> [ItemsPayment] => Array(
> [0] => Array(
> [item_id] => 18
> [amount] => 50
> )
> [1] => Array(
> [item_id] => 19
> [amount] => 35
> )
> )
> )
>
> Related SQL:
> 1. START TRANSACTION
> 2. INSERT INTO `payments`
> (`registry_id`,`name`,`email`,`message`,`method`,`amount`) VALUES
> (10,'','','','','50')
> 3. SELECT LAST_INSERT_ID() AS insertID
> 4. INSERT INTO `items_payments` (`item_id`,`amount`,`payment_id`)
> VALUES (18,'50','')
> 5. INSERT INTO `items_payments` (`item_id`,`amount`,`payment_id`)
> VALUES (19,'35','')
> 6. SELECT LAST_INSERT_ID() AS insertID
> 7. COMMIT
> ------------------------------
>
> Problem is the payment_id field isn't being populated with the
> insertID.
>
> Related code from controller:
> $this->Payment->bindModel(array('hasMany'=>array('ItemsPayment')));
> $this->Payment->saveAll($this->data);
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---
No comments:
Post a Comment