CakePHP(1.3)HABTM在同一型号上saveAll()不起作用

时间:2012-10-30 23:17:10

标签: php mysql cakephp has-and-belongs-to-many cakephp-appmodel

这看起来很简单但是我的头靠在墙上。

我有一个简单的HABTM关系(艺术家有很多艺术家),我试图保存一些数据。

我有两张桌子: 艺术家:(ID,名称,创建,修改) artists_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)被插入到artist表中。相关艺术家没有,并且没有任何内容插入到连接表中。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我没有得到你想要做的事情,一旦通过这个链接这可能有帮助

http://book.cakephp.org/1.3/en/view/1034/Saving-Related-Model-Data-HABTM