0

在 CakePHP 项目中,我有一个 User 类和一个 Category 类。一个用户有许多“类别”和类别属于“用户”。当我创建一个用户时,我想默认为新用户创建一个 coupla 类别。但由于某种原因,只创建了一个新类别。我可能做错了什么?这是我在用户的 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(); 在第二个保存功能之前。

      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 回答