이 특정 문제에 대해 많은 질문이 있으며 공식 문서에는 예제가 있습니다. 그러나 내가 잘못하고있는 것을 발견 할 수 없었습니다.CakePHP 2.5 habtm 저장하지 않음
나는 HABTM 관계가있는 두 개의 모델을 가지고 있지만 분명히 조인과 최종 테이블에 아무것도 저장하지 않습니다. 이것들은 내가 구하려고하는 테이블, 모델 및 배열입니다.
테이블 :
챔피언 테이블 :
CREATE TABLE `champions` (
`id` int(11) unsigned NOT NULL,
`key` varchar(50) DEFAULT NULL,
.
.
.
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
champions_tags 테이블 :
CREATE TABLE `champions_tags` (
`id` int(11) NOT NULL,
`champion_id` int(11) NOT NULL,
`tag_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
태그 테이블 :
CREATE TABLE `tags` (
`id` int(11) NOT NULL,
`type` varchar(50) DEFAULT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
개 모델 :
Champion.php
public $hasAndBelongsToMany = array(
'Tag' => array(
'foreignKey' => 'champion_id',
'associationForeignKey' => 'tag_id',
'unique' => 'keepExisting'
)
);
Tag.php
public $hasAndBelongsToMany = array(
'Tag' => array(
'foreignKey' => 'tag_id',
'associationForeignKey' => 'champion_id',
'unique' => 'keepExisting'
)
);
마지막으로이 내가 저장 한 태그 테이블에 확산하는 것을 시도하고있는 정보는
Array
(
[Champion] => Array
(
.
.
.
[Tag] => Array
(
[0] => Array
(
[id] => 2660
[type] => Fighter
)
[1] => Array
(
[id] => 2661
[type] => Tank
)
)
)
)