これはとても単純に思えますが、頭を壁にぶつけています。
私は単純な HABTM 関係 (Artists hasMany Artists) を持っており、いくつかのデータを保存しようとしています。
私は2つのテーブルを持っています : artist : (id , name, created, modified) artist_related: (id, artist_id, related_id)
私のコードは、models/artist.phpのようになります。
class Artist extends AppModel {
var $name = 'Artist';
var $hasAndBelongsToMany = array(
'Related' => array(
'className' => 'Artist',
'joinTable' => 'artists_related',
'foreignKey' => 'artist_id',
'associationForeignKey' => 'related_id'
)
);
function saveArtist($slug) {
$data = array(
'Artist' => array(
'name' => 'Alicia Keys'
),
'Related' => array(
array(
'name' => 'Mariah Carey'
),
array(
'name' => 'Beyoncé'
)
)
);
$result = $this->saveAll($data);
saveAll() の結果として、artists テーブルに 1 行 (Alicia Keys) が挿入されます。関連するアーティストはそうではなく、結合テーブルには何も挿入されません。
私は何を間違っていますか?