我有一个 hasMany through (连接模型),它不保存,但是在阅读时,它很自然地工作。
我会尽量提供尽可能多的细节,所以请多多包涵。请注意,我正在尝试保存与大量现有产品配对的新用户,并且我不想在此保存中添加新产品。
数据库表:users, products, subscribed_users
连接表的表结构:id, user_id, product_id, quantity, created, modified
用户.php
public $hasMany = array(
'SubscribedUser'
);
产品.php
public $hasMany = array(
'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,count数为0。
我不确定我在这里缺少什么。想法?