このような配列を保存しようとしています
$myData = array(
'User' => array('id' => 17),
'Group' => array(
array('group_id' => 2),
array('group_id' => 3),
array('group_id' => 4),
array('group_id' => 5),
array('group_id' => 6)
)
);
HABTM 結合テーブル (groups_users) 内。次の保存呼び出しを試しましたが、どれも機能しませんでした。
$this->User->save($myData);
$this->User->saveAssociated($myData);
$this->User->saveAll($myData);
$this->User->GroupsUsers->save($myData);
$this->User->GroupsUsers->saveAll($myData);
質問する前に:はい、私の関連付けは正しく設定されており、次のように呼び出してデータを保存できました:
$this->User->GroupsUsers->saveAll(array(
0 => array(
'GroupsUsers' => array('user_id' => $id, 'group_id' => 1)
),
1 => array(
'GroupsUsers' => array('user_id' => $id, 'group_id' => 2)
)
));
ただし、モデルの HABTM リレーションシップ定義でuniqueを falseに設定していますが、両方のレコードの 1 つだけが保存されます。
エラーはどこにありますか? 私の配列の構造は無効ですか?