У меня есть несколько объектов, каждый со своим типом формы. Я хочу, чтобы вместо сохранения объекта сразу сохранить, сохраните копию изменений, которые мы хотим выполнить, и сохраним их в БД. Мы отправили сообщение пользователю, который может одобрить изменение, кто рассмотрит оригинал и измененные поля и утвердит или нет. Если это одобрено, объект будет правильно очищен.Symfony2 - Doctrine2 магазин изменений для более позднего (или альтернативного решения для одобрения изменений)
Чтобы решить эту проблему, я думал о:
1) делает упорствовать
2) Получение ревизий (как один связанные с «нормальными» полями, и одна относительно коллекций)
3) хранение в DB
4) Выполнение $ em-> refresh() для отмены изменений.
Позже мне нужно вернуть чек (ы) назад, попросить (другого) пользователя одобрить его и очистить.
Является ли это выполнимым? Меня особенно беспокоит то, что диспетчер объектов, сгенерировавший первый набор изменений, не тот, который мы собираемся использовать для выполнения флеша, мне в основном нужно «загрузить» набор изменений.
Любая идея о том, как решить эту проблему (этот путь, так или иначе;))
Другое решение (работает только для «нормальных» поля, а не ссылаться на те, которые поступают от других лиц к текущей, как многие из многих) было бы клонировать текущую сущность, хранить ее, а затем после того, как разрешено копировать поле (ы) из клонированного в исходное. Но это не работает для всех полей (если предыдущее решение не работает, мы ограничили бы функцию только «нормальными» полями).
Спасибо!
SN
Благодарим за отзыв! Это не применимо напрямую, поскольку у нас есть несколько объектов, и мне нужно решение общей цели, но это помогло мне задуматься. Я отправлю окончательное решение, когда придумаю один;) –