Удаление записи ассоциации HABTM - PullRequest
3 голосов
/ 24 октября 2010

У меня есть две модели, сообщения и теги.Теги сообщений HasAndBelongsToMany.

Допустим, в сообщении 1 есть теги world, news и paper.

Теперь в объединяющейся таблице я хочу удалить связь между тегом "paper" иПост 1, но тег «бумага» не следует удалять из таблицы тегов.Только связь в присоединяемой таблице должна быть удалена.

Как мне это сделать в CakePHP?

1 Ответ

4 голосов
/ 24 октября 2010

Когда вы выполняете любую операцию HABTM, кроме добавления новой, Cake удаляет и воссоздает связанные строки таблицы соединений. Все, что вам нужно сделать, это получить запись, удалить тег и снова сохранить запись.

В представлении я записываю теги в одно поле ввода формы. Когда запись сохраняется, я обрабатываю значение этого поля, чтобы извлечь теги (разбить по запятой или через пробел или что-то еще), а затем сохранить теги.

Здесь есть хороший путеводитель: http://mrphp.com.au/code/working-habtm-form-data-cakephp

...