Hey, Mech7, Thanks for the reply... But that is for when you need to add (include) things to HABTM...
In my problem, I have all the required components... It could be solved with the queries DELETE FROM transaction_centers WHERE transaction_id = 1; INSERT INTO transaction_centers VALUES (.........); But I wanted to find out a way for cake to do it automatically... I know it can do it with a HABTM association... but what I have there is a hasMany association (with TransactionCenter). Regards, - LS On Aug 29, 3:01 pm, Mech7 <[EMAIL PROTECTED]> wrote: > How about this > behaviour:http://bakery.cakephp.org/articles/view/add-delete-habtm-behavior > > On Aug 29, 7:45 pm, LS <[EMAIL PROTECTED]> wrote: > > > Hello, everyone! > > > I would like a little help from you guys, if I may... > > > I have 3 tables, wich are linked to each other with a "middle" > > controller... > > > Transaction - TransactionCenter - Center > > > These are the models: > > > class Transaction extends AppModel { > > var $name = 'Transaction'; > > var $belongsTo = array('Company', 'Person'); > > var $hasMany = array('TransactionCenter'); > > > } > > > class TransactionCenter extends AppModel { > > var $name = 'TransactionCenter'; > > var $belongsTo = array('Transaction', 'Center'); > > > } > > > class Center extends AppModel { > > var $name = 'Center'; > > var $hasMany = 'Transaction'; > > var $belongsTo = 'Account'; > > > } > > > When the controller asks the model to save (with > > $this->Transaction->save($this->data)), it saves successfully, but only the > > Transaction > > > model. Not the TransactionCenter. > > > When I as a print_r($this->data), before saving, here's what I get: > > > Array > > ( > > [Transaction] => Array > > ( > > [id] => 1 > > [description] => Sistema Construtora > > [doc] => > > [value] => 2200.00 > > [due_date] => 2007-08-01 > > [person_id] => 1 > > ) > > > [TransactionCenter] => Array > > ( > > [0] => Array > > ( > > [transaction_id] => 1 > > [amount] => 1500.00 > > [porcentage] => > > [center_id] => 1 > > ) > > > [1] => Array > > ( > > [transaction_id] => 1 > > [amount] => 250.00 > > [porcentage] => > > [center_id] => 2 > > ) > > > [2] => Array > > ( > > [transaction_id] => 1 > > [amount] => 155.55 > > [porcentage] => > > [center_id] => 3 > > ) > > > [3] => Array > > ( > > [transaction_id] => 1 > > [amount] => 555.22 > > [porcentage] => > > [center_id] => 4 > > ) > > > ) > > > ) > > > Can anyone give me a hand? I've been bumping into the wall with this > > for quite some time... > > > I already have data in Transaction and TransactionCenter tables. I > > added some custom data directly into the database to have a test for > > my layout and such. I am now trying to make the edit action to work to > > later make the add action. > > > The CREATE TABLE statements: > > > CREATE TABLE `transactions` ( > > `id` int(10) unsigned NOT NULL auto_increment, > > `created` datetime NOT NULL, > > `modified` datetime NOT NULL, > > `company_id` int(10) unsigned NOT NULL, > > `person_id` int(10) unsigned NOT NULL, > > `center_id` int(10) unsigned NOT NULL, > > `doc` varchar(50) collate utf8_unicode_ci default NULL, > > `due_date` date default NULL, > > `value` decimal(10,2) default NULL, > > `description` varchar(200) collate utf8_unicode_ci NOT NULL, > > PRIMARY KEY (`id`) > > ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > > CREATE TABLE `transaction_centers` ( > > `transaction_id` int(10) unsigned NOT NULL, > > `center_id` int(10) unsigned NOT NULL, > > `amount` decimal(18,2) NOT NULL, > > `porcentage` decimal(18,2) default NULL, > > PRIMARY KEY (`transaction_id`,`center_id`) > > ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > > CREATE TABLE `centers` ( > > `id` int(10) unsigned NOT NULL auto_increment, > > `created` datetime NOT NULL, > > `modified` datetime NOT NULL, > > `company_id` int(10) unsigned NOT NULL default '1', > > `account_id` int(10) unsigned default NULL, > > `name` varchar(250) collate utf8_unicode_ci NOT NULL, > > `startdate` date NOT NULL, > > `enddate` date default NULL, > > `person_id` int(10) unsigned default NULL, > > `protocol` varchar(250) collate utf8_unicode_ci default NULL, > > `number` varchar(250) collate utf8_unicode_ci default NULL, > > `description` text collate utf8_unicode_ci, > > PRIMARY KEY (`id`), > > UNIQUE KEY `UN_COMPANYID_NAME` (`company_id`,`name`) > > ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > > Thanks everyone. > > > - LS --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" 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/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---
