保存されていないhasManythrough(結合モデル)がありますが、読み取ると自然に機能します。
可能な限り詳細を提供するように努めますので、ご容赦ください。大量の既存の製品と組み合わせて新しいユーザーを保存しようとしていることに注意してください。この保存に新しい製品を追加したくありません。
データベーステーブル: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-> SubscriptionUser-> saveAll($ data);を使用します。ユーザーを適切に保存しましたが、subscribed_usersテーブルには1行しかなく(上記のデータからわかるように、2行あるはずです)、欠落しているデータが含まれています。product_idはなく、カウント数は0です。
ここで何が欠けているのかわかりません。考え?