【发布时间】:2012-10-30 23:17:10
【问题描述】:
这看起来很简单,但我的头撞到了墙上。
我有一个简单的 HABTM 关系(艺术家有许多艺术家),我正在尝试保存一些数据。
我有两张桌子: 艺术家:(id、名称、创建、修改) artists_related:(id、artists_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)被插入到艺术家表中。相关艺术家没有,并且没有任何内容插入到连接表中。
我做错了什么?
【问题讨论】:
标签: php mysql cakephp has-and-belongs-to-many cakephp-model