同一模型上的CakePHP(1.3)HABTM saveAll()不工作

同一模型上的CakePHP(1.3)HABTM saveAll()不工作,php,mysql,cakephp,has-and-belongs-to-many,cakephp-model,Php,Mysql,Cakephp,Has And Belongs To Many,Cakephp Model,这看起来很简单,但我的头撞到了墙上 我有一个简单的HABTM关系(艺术家有很多艺术家),我试图保存一些数据 我有两张桌子: 艺术家:(id、名称、创建、修改) 艺术家相关:(id,艺术家id,相关id) 下面是我的代码的样子,models/artist.php: class Artist extends AppModel { var $name = 'Artist'; var $hasAndBelongsToMany = array( 'Related' => ar

这看起来很简单,但我的头撞到了墙上

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

我有两张桌子: 艺术家:(id、名称、创建、修改) 艺术家相关:(id,艺术家id,相关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密钥)插入到artists表中。相关的美工人员不会这样做,并且不会向联接表中插入任何内容


我做错了什么?

我不明白你想做什么,一旦通过此链接,这可能会有所帮助


谢谢你的回答。我试图在艺术家表中保存一位艺术家及其相关艺术家。以及“艺术家”相关表中的关系。它与页面中的示例不同,因为它不在两个不同的模型之间,而是同一个模型的habtm。在cookbook中,您可以通过选择下拉菜单选择其他艺术家,$this->set('artists',$this->Artist->find('list');在视图$this->Form->input('artists');