Я пытаюсь «пометить» несколько «точек» несколькими тегами. Я помечаю свои отдельные точки успешно. К сожалению, когда я пытаюсь использовать тег, такой как 'test2' в другой точке, в качестве тега, он либо выдает ошибку повторяющегося ввода, если у меня для 'unique' установлено значение false, либо для 'unique' установлено значение true, он удалит мой тег для всех остальных точек для test2 и создаст один новый.
Вот что у меня есть для моих почтовых данных:
Array
(
[Tag] => Array
(
[id] => 4b7af6d7-787c-4f10-aa49-2502c0a80001
[name] => Test2
)
[Point] => Array
(
[id] => 4b47c66f-a130-4d12-8ccd-60824051e4b0
)
)
В моей модели тегов у меня есть это:
public $hasAndBelongsToMany = array(
'Point' => array(
'className' => 'Point',
'joinTable' => 'points_tags',
'foreignKey' => 'tag_id',
'associationForeignKey' => 'point_id',
'unique' => false)
);
Я тоже пробовал это с уникальным значением true. К сожалению, это приведет к удалению любых других экземпляров «Test2» в соединительной таблице («points_tags»).
Я пробовал это использовать save () и saveAll (). Оба дают мне эту ошибку:
Предупреждение (512): Ошибка SQL: 1062: Дублирующаяся запись '4b7af6d7-787c-4f10-aa49-2502c0a80001-4b47c66f-a130-4d12-8ccd-608' для ключа 'MAN_ADD' [CORE / cake / libs / model / datasources / dbo_source.php, строка 527]
Запрос: INSERT INTO points_tags
(tag_id
, point_id
, id
) VALUES ('4b7af6d7-787c-4f10-aa49-2502c0a80001', '4b47c66f-a130-4d12-8ccd-60824051e4b0', '4b7' -4744-ac53-3973c0a80001 ')
Мысль ????
Предложения ????