Я часто сталкиваюсь с проблемой обновления имеет много связей. Например, возьмем следующие три таблицы:
- сообщения
- теги
- сообщения_теги
Когда пользователь создает новый пост, он может добавлять к нему теги. Пост сохраняется, а выбранные теги прикрепляются к нему через _posts_tags_.
Когда пользователь редактирует сообщение (и может редактировать или не редактировать список тегов), и форма отправляется, я должен обновить список тегов сообщения.
Решение может быть следующим: при обновлении поста я удаляю все теги этого поста из _posts_tags_, и вставляю отправленные.
Другое решение — получить все теги поста из БД, сравнить список с представленным и решить, что нам нужно удалить, а что — вставить.
Оба решения могут занять много времени.
Какое решение проблемы может быть более разумным?