在级联中设置doctrine实体属性(Symfony2 app)

时间:2014-12-29 10:05:58

标签: php symfony doctrine-orm

我在Symfony2应用程序(使用Doctrine)中工作,其中包含以下实体:

  • A(名称,描述,isDeleted,b)
  • B(名称,描述,isDeleted,c)
  • C(name,description,isDeleted)

    A-> B-&以及c

应用程序的一个要求是我们必须在数据库中保留所有行,并将它们设置为已删除,以防我们需要从数据库中删除A,B或C.

目前,每个实体都有一个Manager服务,允许我们管理和使用这些实体。

但是当我们需要删除实体A的一个元素(isDeleted = true)时,我们必须触发一个动作来设置为isDeleted = true所有子关系,在这个特殊情况下我们需要设置为删除B和C 。

是否有任何设计模式或良好实践(使用事件调度员,学说生命周期事件或服务方式)来实现这一目标?如果我们需要添加更多关系,以保持代码清洁和可维护。

感谢。