【发布时间】:2017-09-14 14:42:37
【问题描述】:
我有一个 Doctrine 实体 (FieldOption),它代表表单中选择字段中的一个选项(例如 Red、Green、Blue)。用户在任何时候都可以选择从字段中删除选项(例如删除Green),为此我已使用 Gedmo 将实体设置为可软删除,效果很好。
但是,当针对至少一个表单提交而存储的选项被删除时,该提交实体(与 FieldOption 实体有关系)无法加载,因为 FieldOption 被过滤掉了。真的,我只希望在返回用于呈现表单的数据时出现软删除功能 - 查看链接到该实体的现有记录应该仍然能够默认加载软删除选项。
有没有办法在通过另一个实体检索时禁用此过滤器,但确保在直接加载选项列表时启用过滤器?
【问题讨论】:
-
也许您可以使用Doctring SQLFilter (docs.doctrine-project.org/projects/doctrine-orm/en/latest/…) 编写自己的过滤器?
-
你解决了吗?
-
我不认为我做过@Nukeface - 考虑一下,我不认为这真的是软删除的有效用法(因为它应该被视为与真正的删除相同)所以我可能会实现一个自定义属性和学说过滤器来处理这个
标签: php doctrine-orm soft-delete