如何将其他信息保存到CakePHP HABTM联接表中?

如何将其他信息保存到CakePHP HABTM联接表中?,php,cakephp,has-and-belongs-to-many,Php,Cakephp,Has And Belongs To Many,目前,我无法手动将记录保存到HABTM联接表。我有一个表,users\u products,希望将有关订单的所有附加信息(大小、数量、颜色等)保存到此联接表中,而不是创建单独的联接表 用户$hasAndBelongsTo产品 要执行此操作,我的用户控制器代码: Configure::write('debug', 0); //adds product to cart $this->layout = ""; //async $user = $th

目前,我无法手动将记录保存到HABTM联接表。我有一个表,
users\u products
,希望将有关订单的所有附加信息(大小、数量、颜色等)保存到此联接表中,而不是创建单独的联接表

用户$hasAndBelongsTo产品

要执行此操作,我的用户控制器代码:

Configure::write('debug', 0);
        //adds product to cart
        $this->layout = ""; //async
        $user = $this->User->find('first',array('conditions'=>array('User.id'=>$this->Auth->user("id"))));
        $data['User'] = $user['User'];
        $addition = array('user_id' => $this->Auth->user("id"),
                            'product_id' => $id,
                            'size' => $size,
                            'quantity' => $quantity);
        $data['Product'][] = $addition;
        $this->User->create();
        if ($this->User->saveAll($data)) {
            echo $data['User']['amount_in_cart'];

        } else {
            echo $curr_cart_amt['User']['amount_in_cart'];
        }

不幸的是,这会向数据库中添加一条新记录,并在执行此操作时清除整个联接表。有什么想法吗?

你需要一个多人的团体。这与HABTM的工作原理类似,但不是在
用户
产品
上定义HABTM,而是在模型文件(以前不需要)中定义与
用户
产品
关联的属性

看看食谱,里面解释得很好: