Hum... Nice... I'm gonna try that... But... When I do the $this->Transaction- >findAll() it returns everything to me as expected.... Thats why I never tought of expanding the hasMany parameter... I'll post back with my results! =) If that does not do the trick, I'll just add a AfterSave function to the model...
Thanks! On Aug 30, 1:21 am, "Phang Mulianto" <[EMAIL PROTECTED]> wrote: > i think you miss something... > in the model... you should add more param in the has many and belongs > to so the update and delete is automaticaly done by cake.. > > here is my example code model : > > * @package cake > * @subpackage cake.app.config > * @since CakePHP(tm) v 0.2.9 > * @version $Revision: 4409 $ > * @modifiedby $LastChangedBy: phpnut $ > * @lastmodified $Date: 2007-02-02 07:20:59 -0600 (Fri, 02 Feb 2007) $ > * @licensehttp://www.opensource.org/licenses/mit-license.phpThe MIT License > */ > class Mutation extends AppModel { > var $name = 'Mutation'; > > var $hasMany = array('Transaction' => > array('className' => 'Transaction', > 'conditions' => '', > 'order' => '', > 'limit' => '10', > 'foreignKey' => 'mutation_id', > 'dependent' => true, > 'exclusive' => false, > 'finderQuery' => '' > ) > ); > > } > > ?> > > <?php > /* > * > [EMAIL PROTECTED] > * @copyright Copyright 2005-2007, Cake Software Foundation, Inc. > * @linkhttp://www.cakefoundation.org/projects/info/cakephpCakePHP(tm) > Project > * @package cake > * @subpackage cake.app.config > * @since CakePHP(tm) v 0.2.9 > * @version $Revision: 4409 $ > * @modifiedby $LastChangedBy: phpnut $ > * @lastmodified $Date: 2007-02-02 07:20:59 -0600 (Fri, 02 Feb 2007) $ > * @licensehttp://www.opensource.org/licenses/mit-license.phpThe MIT License > */ > class Transaction extends AppModel { > var $name = 'Transaction'; > > var $belongsTo = array('Mutation' => > array('className' => 'Mutation', > 'conditions' => '', > 'order' => '', > 'foreignKey' => 'mutation_id' > ) > ); > > } > > ?> > > you need to add the foreignkey array variable... > > hope this help..i also tryin to figure it out on my own...hope helps.. > > On 8/30/07, 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 -~----------~----~----~----~------~----~------~--~---
