这看起来很简单,但我的头撞在墙上。
我有一个简单的 HABTM 关系(艺术家有许多艺术家),我试图保存一些数据。
我有两个表: 艺术家:(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() 的结果是 1 行(Alicia Keys)被插入到艺术家表中。相关艺术家没有,并且没有任何内容插入到连接表中。
我究竟做错了什么?