我有一个具有许多关系的Symfony2项目,我希望数据集随时保持一致。例如,销售与产品有关。
如果用户决定删除产品,但是产品与销售相关,则如何保持销售对象一致?
使用普通SQL,我会添加一个"隐藏"列,并具有限制关系。如果没有与产品链接的销售,则将删除该产品。如果有一个或多个销售,则不会删除该产品,但隐藏的字段设置为true。
在用户界面中,SQL请求将为
SELECT * FROM product WHERE hidden = FALSE
是解决此问题的正确方法吗?您有什么想法如何在Symfony 2中具有类似的行为?
您可以使用学说的注释来帮助您始终保持数据一致。例如,当删除销售时,它将继续删除产品。
如果您使用的是一对一或一对多的关系
orphanrelemoval:布尔值,指定孤儿,倒数 未连接到任何拥有实例的实体应该是 通过学说删除。默认为false。
有关更多信息,请参见此处。