我正在软删除 MySQL 数据库中的对象并使用 Propel ORM。我已经开始进行软删除,但代价是失去了强制的父子关系,因为实际的行没有被删除。
Propel 有什么方法可以在访问时知道记录已被软删除,从而不会引发空引用异常?这样,虽然一个父级已经被删除,它的子级仍然可以读取它的关系,但是当更新一个子级,或者创建一个新的子级时,被删除的父级是不可访问的。
例如,
Book有一个AuthorId,如果属于AuthorId的作者被软删除,那么:
$book->getAuthor();
将返回正确的作者(仅供查看)。但是,如果添加了新书,则无法选择被软删除的作者。
有人知道这个功能是否内置在 Propel 中吗?