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

Reply via email to