2015-06-05 4 views
0

Я использую последнюю версию dev-master расширений Doctrine с Symfony2.7.0. Я добавил оба расширения Softdeleteable и Translatable к моей сущности. Проблема заключается в том, что когда объект получает soft-deleted, его перевод становится жестко удаленным.Symfony2: Расширение доктрины Softdeleteable постоянно удаляет Переводимые элементы

Есть ли обходной путь?

Редактировать
Я нашел это issue на Github, но я не могу сделать большую часть ответа.

ответ

1

После рассмотрения вопросов github и предлагаемых «исправлений» и консультантов я решил, что это было больше неприятностей, чем его ценность.
Проблема, очевидно, в списке, и я не должен возиться с пучками под vendor.
Когда переводчики получают «удаление» из моего объекта с мягким удалением, эти «дети» моего объекта не являются собственными объектами, поэтому их нельзя настроить для мягкого удаления.

Мое решение добавить атрибут deletedAt, NULL по умолчанию, и когда в моем контроллере я использовал для выполнения $entityManager->delete($object) я теперь просто должны изменить значение deletedAt к текущему DateTime. $object->setDeletedAt($date).

И при извлечении объектов я просто добавить предложение SELECT * FROM table_name WHERE deletedAt IS NULL;

Это влечет за собой изменение много запросов, но это самый простой вариант в ожидании починки.

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