Php Symfony2原则-删除或隐藏关系以保持一致性?

Php Symfony2原则-删除或隐藏关系以保持一致性?,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我有一个Symfony2项目,有很多关系,我希望数据集在任何时候都保持一致。 例如,销售与产品相关联 如果用户决定删除该产品,但该产品已链接到销售,如何保持销售对象的一致性 如果使用纯SQL,我会添加一个“隐藏”列,带有限制关系。 如果没有与产品关联的销售,则删除该产品。 如果存在一个或多个销售,则不会删除产品,但隐藏字段设置为true 在用户界面中,SQL请求将是 SELECT * FROM product WHERE hidden = FALSE 这是处理这个问题的正确方法吗?

我有一个Symfony2项目,有很多关系,我希望数据集在任何时候都保持一致。 例如,销售与产品相关联

如果用户决定删除该产品,但该产品已链接到销售,如何保持销售对象的一致性

如果使用纯SQL,我会添加一个“隐藏”列,带有限制关系。 如果没有与产品关联的销售,则删除该产品。 如果存在一个或多个销售,则不会删除产品,但隐藏字段设置为true

在用户界面中,SQL请求将是

     SELECT * FROM product WHERE hidden = FALSE
这是处理这个问题的正确方法吗? 您知道如何在Symfony 2中实现类似的行为吗?

您可以使用它来帮助您始终保持数据的一致性。例如,删除销售时,它也会继续删除产品

如果使用一对一或一对多关系,则可以将注释为true:

孤儿移除:布尔值,指定是否为孤儿、反向OneToOne 未连接到任何拥有实例的实体应 被教义移除。默认为false


有关更多信息,请参阅。

谢谢您的回答。我不想删除销售,也不想删除产品。这就是问题所在。销售历史必须是一致的,即使管理员已经“删除”了产品。