I believe that whatever model you are using to save needs to be first in your array, so if you are saving with $this->Tab->save() your code needs to look like this:
$to_save['Tab'] = array( 'title' => '(Onglet)', 'position' => ($position['0']['0']['position']+1) ); $to_save['Version'] = array( 'id' => $this->data['Version']['id'] ); $this->Tab->save($to_save, true); Or, you can use $this->Tab->Version->save($to_save) with your current setup instead. Also, If you are using Cake 1.2 you may be seeing this bug: http://groups.google.com/group/cake-php/browse_thread/thread/2ad48c4e10f58fc0/289a09fe363ef50a?lnk=raot Try Nina's fix and see if it works. Dave On Jan 24, 9:11 am, LoKi <[EMAIL PROTECTED]> wrote: > Hi! I'm beginner with cakephp. > I have two objets linked with "hasAndBelongsToMany" association : > > VERSION MODEL > ******************************************************************************************* > > class Version extends AppModel { > var $name = 'Version'; > > var $hasAndBelongsToMany = array('Tab' => > > array('className' => 'Tab', > > 'joinTable' => 'tabs_versions', > > 'foreignKey' => 'version_id', > > 'associationForeignKey'=> 'tab_id', > > 'unique' => true > ) > ); > > } > > TAB MODEL > ******************************************************************************************* > > class Tab extends AppModel { > var $name = 'Tab'; > > var $hasAndBelongsToMany = array('Version' => > > array('className' => 'Version', > > 'joinTable' => 'tabs_versions', > > 'foreignKey' => 'tab_id', > > 'associationForeignKey'=> 'version_id', > > 'unique' => true > ) > ); > > } > > ********************************************************************************************************** > > I would like to make a new "tab" without form. > My problem : The new tab is created, but the association in the table > named "tabs_versions" (in database) isn't created. > > My actual php code (in controller) : > > $to_save = array(); > $to_save['Version'] = array( > 'id' => > $this->data['Version']['id'] > ); > $to_save['Tab'] = array( > 'title' => '(Onglet)', > 'position' => > ($position['0']['0']['position']+1) > ); > $this->Tab->save($to_save, true); > > How can I do ? > Thanks a lot! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---