CakePHP有很多通过(连接模型)不保存

时间:2013-01-13 20:27:43

标签: php cakephp

我有一个没有保存的hasMany通过(连接模型),但是在阅读时,它自然地起作用。

我会尽量提供尽可能详细的信息,所以请耐心等待。请注意我正在尝试保存与现有产品数量配对的新用户,并且我不想在此保存中添加新产品。

数据库表:users, products, subscribed_users

加入表的表格结构:id, user_id, product_id, quantity, created, modified

user.php的

public $hasMany = array(
   'SubscribedUser'
);

Product.php

public $hasMany = array(
   'SubscribedUser'
);

SubscribedUser.php

class SubscribedUser extends AppModel {
   public $belongsTo = array(
       'User', 'Product'
   );
}

数据数组我试图从UsersController.php中保存

Array (
    [User] => Array (
        [username] => asdf
    )
    [SubscribedUser] => Array (
        [0] => Array (
            [product_id] => 50f1ef25-6884-44cf-80e4-bd346f01a4c2
            [count] => 12
        )
        [1] => Array (
            [product_id] => 50f1f1d6-89b4-4ade-961f-c1a06f01a4c2
            [count] => 12
        )
    )
)

使用$ this-> User-> SubscribedUser-> saveAll($ data);我已正确保存用户,但我的subscribed_users表只有一行(从我上面的数据可以看出,应该有两行)并且它包含缺少的数据。没有product_id,计数为0。

我不确定我在这里缺少什么。想法?

2 个答案:

答案 0 :(得分:1)

除非是拼写错误,否则文件名Users.php是最明显的错误。

答案 1 :(得分:1)

问题是我使用的是$ this-> User-> SubscribedUser-> saveAll()而不是$ this-> User-> saveAll()

我的问题现在已经通过这个决议解决了。