Я использую последнюю версию dev-master
Расширений Доктрины с Symfony2.7.0.
Я добавил оба расширения Softdeleteable
а также Translatable
к моей сущности. Проблема заключается в том, что когда объект мягко удаляется, его перевод жестко удаляется.
Есть ли решение этой проблемы?
редактировать
Я нашел это вопрос на Github, но я не могу сделать многое из ответа.
Изучив проблемы с github и предложенные «исправления» и проконсультировавшись с экспертами, я решил, что это было больше проблем, чем стоит.
Проблема, очевидно, заключается в составлении списка, и я не должен возиться с пакетами под vendor
,
Когда переводчики получают «delete» из моего объекта «soft-delete», эти «потомки» моего объекта на самом деле не являются собственными объектами, поэтому не могут быть настроены для «soft-delete».
Мое решение состоит в том, чтобы добавить deletedAt
атрибут, NULL по умолчанию и когда в моем контроллере я использовал для выполнения $entityManager->delete($object)
Теперь я просто должен изменить значение deletedAt
на текущий DateTime. $object->setDeletedAt($date)
,
И при получении объектов я просто добавляю предложение SELECT * FROM table_name WHERE deletedAt IS NULL;
Это подразумевает изменение большого количества запросов, но это самый простой вариант в ожидании исправления.
Других решений пока нет …