2011-01-18 2 views
0

У меня проблема с ассоциациями, то есть с проектом, который имеет «hasMany» Ссылки. Страница редактирования проекта имеет поле для самого проекта, а некоторые для связаннога Ссылки:Удалить «старые» ассоциации с saveAll

echo $form->input('Link.0.url'); 
echo $form->input('Link.1.url'); 
echo $form->input('Link.2.url'); 

В контроллере проекта я использую $ this-> Project-> SaveAll ($ this-> данные), который сохраняет проект и три связанные ссылки. Хорошо. Теперь, обновляя проекты, я хочу удалить некоторые ссылки. Я хочу сохранить его простым и удалить все Link.n. * используя jQuery, например. К сожалению, это не работает так, как ожидалось: удаленная ассоциация все еще существует после использования saveAll, хотя она больше не указана в $ this-> data.

CakePHP очень специфичен в отношении сохранения ассоциаций. К сожалению, я не могу найти что-то об их устранении. Я надеюсь, что кто-то поймет мою проблему и у меня есть идея, что делать.

ответ

0

, если он уже в базе данных, вам необходимо использовать delete() или deleteAll()

+0

Большое спасибо. Я думал, что прочитал что-то о том, что старые ассоциации удаляются автоматически при использовании saveAll. Но это должно сработать, спасибо. –

+0

habtm, а не что-нибудь еще – dogmatic69

Смежные вопросы