0

CakePHPプロジェクトには、UserクラスとCategoryクラスがあります。ユーザーhasMany'Category'およびCategorybelongsTo'User'。ユーザーを作成するとき、新しいユーザーのデフォルトでカップルカテゴリを作成したいと思います。しかし、何らかの理由で、1つの新しいカテゴリのみが作成されます。何が間違っているのでしょうか?これは、ユーザーのafterSave()関数で使用しているコードです。

    function afterSave($created)
    {
        if($created):
            //create 2 categories 'Personal' and 'Work'
            $data1 = array(
                'Category' => array(
                    'user_id' => $this->id,
                    'name' => 'Personal',
                    'order' => 1
                )              
            );
            $d1 = $this->Category->save($data1);

            $data2 = array(
                'Category' => array(
                    'user_id' => $this->id,
                    'name' => 'Work',
                    'order' => 2
                )              
            );
            $d2 = $this->Category->save($data2); 
        endif;
    }
4

1 に答える 1

1

保存関数を複数回使用する場合は、$ this-> Category-> create();を使用する必要があると思います。2番目の保存機能の前。

      function afterSave($created)
        {
            if($created):
                //create 2 categories 'Personal' and 'Work'
                $data1 = array(
                    'Category' => array(
                        'user_id' => $this->id,
                        'name' => 'Personal',
                        'order' => 1
                    )              
                );
                $d1 = $this->Category->save($data1);

                $data2 = array(
                    'Category' => array(
                        'user_id' => $this->id,
                        'name' => 'Work',
                        'order' => 2
                    )              
                );
                $this->Category->create();
                $d2 = $this->Category->save($data2); 
            endif;
        }
于 2012-08-19T07:29:47.957 に答える