I've had some similar trouble with 2.0

turned out the fields in the DB were not the same type.
id on one table was a bigint and the foreign key on the relationship table
was a regular integer.

atenciosamente,
Werner Petry Moraes
werne...@gmail.com


On Wed, Nov 2, 2011 at 07:52, Mattia Manzati <manzat...@gmail.com> wrote:

> Hi all! Thanks in advance for replys! :P
> I have the following model:
>
> class EpisodeRelease extends AppModel{
>>     public $cacheQueries = true;
>>     public $name = 'EpisodeRelease';
>>     public $primaryKey = 'id';
>>     public $table = 'episode_releases';
>>     public $hasMany = array(
>>         'EpisodeReleaseMirror' => array (
>>             'className' => 'EpisodeReleaseMirror',
>>             'foreignKey' => 'episode_release_id',
>>             'conditions' => array('EpisodeReleaseMirror.approved_by >' =>
>> 0),
>>             'order' => 'EpisodeReleaseMirror.download_count DESC'
>>         )
>>     );
>>     public $belongsTo = array(
>>         'User' => array(
>>             'className' => 'User',
>>             'foreignKey' => 'user_id'
>>         ),
>>         'EpisodeType' => array(
>>             'className' => 'EpisodeType',
>>             'foreignKey' => 'episode_type_id'
>>         ),
>>         'Anime' => array(
>>             'className' => 'Anime',
>>             'foreignKey' => 'anime_id'
>>         ),
>>         'Language' => array(
>>           'className' => 'Language',
>>           'foreignKey' => 'language_id'
>>         )
>>     );
>>     public $hasAndBelongsToMany = array(
>>         'Fansub' => array(
>>             'className' => 'Fansub',
>>             'joinTable' => 'Fansub2EpisodeRelease',
>>             'foreignKey' => 'episode_release_id',
>>             'associationForeignKey' => 'fansub_id',
>>             'unique' => false
>>         ),
>>         'VideoCodec' => array(
>>             'className' => 'VideoCodec',
>>             'joinTable' => 'VideoCodec2EpisodeRelease',
>>             'foreignKey' => 'episode_release_id',
>>             'associationForeignKey' => 'video_codec_id',
>>             'order' => 'VideoCodec.order DESC',
>>             'unique' => false
>>         )
>>     );
>> }
>> ?>
>>
>> and the following code in the controller...
>
>>     function add(){
>>         if($this->_canAdd()){
>>             $this->set('animes',
>> $this->EpisodeRelease->Anime->find('list',array('fields'=>'name')));
>>             $this->set('languages',
>> $this->EpisodeRelease->Language->find('list',array('fields'=>'name')));
>>             $this->set('episodeTypes',
>> $this->EpisodeRelease->EpisodeType->find('list',array('fields'=>'name')));
>>             $this->set('fansubs',
>> $this->EpisodeRelease->Fansub->find('list',array('fields'=>'name','order'=>'Fansub.name
>> ASC')));
>>             $this->set('videoCodecs',
>> $this->EpisodeRelease->VideoCodec->find('list',array('fields'=>'name','order'
>> => 'VideoCodec.order DESC')));
>>
>>             if($this->request->is('post')){
>>                 $this->request->data['EpisodeRelease']['user_id'] =
>> $this->Auth->User('user_id');
>>                 $this->EpisodeRelease->set($this->request->data);
>>                 if($this->EpisodeRelease->saveAll($this->request->data)){
>>                     $this->Session->setFlash('Release aggiunta con
>> successo. Sarà visualizzabile non appena un amministratore lo avrà
>> approvato.');
>>                     //$this->redirect(array('action'=>'index'));
>>                     pr($this->request->data);
>>                 }else{
>>                     pr($this->request->data);
>>                     $this->Session->setFlash('ERRORE! Compila tutti i
>> campi!');
>>                     $this->set('similar_releases',array());
>>                 }
>>             }else{
>>                 $this->set('similar_releases',array());
>>             }
>>         }else{
>>             $this->Session->setFlash('Non hai i permessi necessari per
>> eseguire questa azione.');
>>             $this->redirect(array('action'=>'index'));
>>         }
>>     }
>>
> When i press Submit the array sent to saveAll is the following:
>
>> Array
>> (
>>     [EpisodeRelease] => Array
>>         (
>>             [language_id] => 1
>>             [anime_id] => 1
>>             [episode_type_id] => 1
>>             [number] => 2
>>             [name] => episode
>>             [user_id] => 2
>>         )
>>
>>     [Fansub] => Array
>>         (
>>             [Fansub] => Array
>>                 (
>>                     [0] => 1
>>                 )
>>
>>         )
>>
>>     [VideoCodec] => Array
>>         (
>>             [VideoCodec] => Array
>>                 (
>>                     [0] => 8
>>                 )
>>
>>         )
>>
>> )
>>
>> But it seems that HABTM relations are'nt saved.... why?
> Thanks again! ^^
> WebRep
> Overall rating
>
>
> --
> Our newest site for the community: CakePHP Video Tutorials
> http://tv.cakephp.org
> Check out the new CakePHP Questions site http://ask.cakephp.org and help
> others with their CakePHP related questions.
>
>
> To unsubscribe from this group, send email to
> cake-php+unsubscr...@googlegroups.com For more options, visit this group
> at http://groups.google.com/group/cake-php
>

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to