作業中のコードの HABTM 関係を保存する際に問題が発生しています。私はHABTM 関係にPodcasts
あります。Categories
以下のコードと問題の説明
モデル/Podcast.php
class Podcast extends AppModel{
public $hasMany = 'Episode';
public $hasAndBelongsToMany = array(
'Category' =>
array(
'className' => 'Category',
'joinTable' => 'categories_podcasts',
'foreignKey' => 'podcast_id',
'associationForeignKey' => 'category_id',
'unique' => false
)
);
}
モデル/Category.php
class Category extends AppModel{
public $hasAndBelongsToMany = array(
'Podcast' =>
array(
'className' => 'Podcast',
'joinTable' => 'categories_podcasts',
'foreignKey' => 'category_id',
'associationForeignKey' => 'podcast_id',
'unique' => false
)
);
}
これは、私が渡している配列がどのsaveAll()
ように見えるかです
Array
(
[Podcast] => Array
(
[name] => Mohr Stories - FakeMustache.com
[description] => Join your host Jay Mohr and a rotating cast of his hilarious friends as they regale you with tales and conversation covering every topic imaginable. You haven't heard the half of it until you've heard... Mohr Stories.
[website] => http://www.FakeMustache.com
)
[Category] => Array
(
[0] => 1
[1] => 2
)
)
これは問題なく動作します - ポッドキャストが追加され、結合テーブルが更新されますが、Category
配列が次のようになるという印象を受けました。
[Category] => Array
(
[0] => Array
(
[name] => Test
)
[1] => Array
(
[name] => Test2
)
)
これにより、新しいカテゴリ「Test」と「Test2」が保存され、結合テーブルが新しく追加された ID で更新されます。これは不可能ですか、それともここの写真の一部が欠けていますか?