gpt4 book ai didi

php - Propel 是否知道对象何时被软删除,以便子实体仍然可以显示其已删除的父实体?

转载 作者:搜寻专家 更新时间:2023-10-31 21:46:33 24 4
gpt4 key购买 nike

我正在软删除 MySQL 数据库中的对象并使用 Propel ORM。我已经开始使用软删除功能,但代价是失去了我强制执行的父子关系,因为实际的行没有被删除。

Propel 有什么方法可以在您访问记录时知道该记录已被软删除,从而不会抛出空引用异常?这样,尽管父项已被删除,其子项仍然可以读取它的关系,但是当更新一个子项,或创建一个新的子项时, 已删除的父级不可访问。

例如,

Book 有一个 AuthorId,如果属于 AuthorId 的作者被软删除,那么:

$book->getAuthor();

将返回正确的作者(仅供查看)。但是,如果添加了新书,则无法选择被软删除的作者。

有人知道 Propel 是否内置了该功能吗?

最佳答案

软删除是一种 splinter 的抽象。您应该改用可存档行为(请参阅 Propel 博客中的原因:http://propelorm.org/blog/2011/08/29/introducing-archivable-behavior-and-why-soft-delete-is-deprecated.html)

关于php - Propel 是否知道对象何时被软删除,以便子实体仍然可以显示其已删除的父实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2519297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com