Symfony2:Doctrine 扩展 Softdeleteable 永久删除可翻译元素

Symfony2: Doctrine extension Softdeleteable is permanently deleting Translatable elements

我在 Symfony2.7.0 中使用最新版本 dev-master 的 Doctrine 扩展。 我将扩展名 SoftdeleteableTranslatable 添加到我的实体中。问题是当实体被软删除时,它的翻译被硬删除。

有解决办法吗?

编辑
我在 Github 上找到了这个 issue,但我不能给出太多答案。

在审查了 github 问题和提议的 "fixes" 并咨询了专家之后,我认为这麻烦多于它的价值。
问题显然出在监听器上,我不应该乱用 vendor.
下的捆绑包 当可译对象从我的软删除对象中获取 'delete' 时,我对象的这些 "children" 并不是它们自己的真正对象,因此无法配置为软删除。

我的解决方案是添加一个 deletedAt 属性,默认情况下为 NULL 并且在我的控制器中我曾经执行 $entityManager->delete($object) 我现在只需要更改 deletedAt 的值到当前日期时间。 $object->setDeletedAt($date)

并且在检索对象时我只添加了一个子句 SELECT * FROM table_name WHERE deletedAt IS NULL;

这意味着要更改很多查询,但这是等待修复时最简单的选择。