Doctrine 原则1.2中多对多表的软删除

Doctrine 原则1.2中多对多表的软删除,doctrine,many-to-many,soft-delete,Doctrine,Many To Many,Soft Delete,我可以在多个引用表上添加SoftDelete行为,这将在列中添加一个已删除的_。不幸的是,将列设置为NOTNULL值不会过滤出关系。这就是我所希望的 有没有人知道一个没有实际引用引用表的解决方法?您可以在模板中添加一个监听器用于软删除。然后,您可以连接到preDqlSelect方法并添加所需的dql部分。我不知道doctrine,但您能否运行类似于SQL:select*FROM myModel WHERE deleted_at为NULL的select语句?我没有使用doctrine,但我在Lar

我可以在多个引用表上添加SoftDelete行为,这将在列中添加一个已删除的_。不幸的是,将列设置为NOTNULL值不会过滤出关系。这就是我所希望的


有没有人知道一个没有实际引用引用表的解决方法?

您可以在模板中添加一个监听器用于软删除。然后,您可以连接到
preDqlSelect
方法并添加所需的dql部分。

我不知道doctrine,但您能否运行类似于SQL:select*FROM myModel WHERE deleted_at为NULL的select语句?我没有使用doctrine,但我在Laravel中遇到了相关问题。Pivot表通常应该对(pk1,pk2)具有唯一的约束,pki是表i的主键。这里的软删除不是很直接。如果软删除一个关系,然后要插入相同的关系,该怎么办?在这种情况下,必须取消删除软删除关系,而不是插入新关系。但是,如果在pivot中存储其他信息,则会丢失软删除数据。使用另一个表(没有唯一约束)来存储删除的关系不是更好吗?您使用的是哪种SoftDelete?您是否尝试通过ManyToOne->HelperClasses自己实现ManyToMany,而不是在联接表中引入
deleted\u at
,将其添加到引用的实体中,并在获取实体时过滤记录