Задать вопрос
VladOsadchyi
@VladOsadchyi
Студент

Как правильно организовать сохранение состояния модели перед изменением?

Есть модель продукта, у которой множество всевозможных связей с другими моделями (1-M, M-M, M-1, 1-1).
Задача: перед изменением полей продукта, нужно сохранить текущие значения. После изменения должна быть возможность просмотреть изменения и откатиться к пред. состоянию.
У меня пока что есть две идеи:
1) Выносить в отдельную табл. только измененные поля в json формате
2) Полностью копировать модель в отдельную табл.
Но для меня главная сложность это связанные/промежуточные таблицы, так как их тоже придется дублировать...

Если у Вас есть идеи или материалы как все это организовать, прошу поделиться, заранее спасибо.
Все это дело работает на yii2, может там есть готовые инструменты для этого, которые я не смог отыскать?
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Создайте дополнительное поле json и туда сохраняйте состояние текущих полей, версию или просто дату создания. При модификации добавляете в массив новые данные. При откате просто заменяете текущие данные на данные из версии. Но это такое себе решение)

Вот более подробно. https://m.habr.com/ru/post/101544/

Это если просто. Мои мысли такие. Вообще, лучше добавить другие теги и может ещё что подскажут. Это не совсем про Yii
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы