PHP Doctrine SoftDelete - 包括已删除的记录?

Wic*_*wok 5 php doctrine soft-delete

如果我有一个 PHP Doctrine 对象充当 SoftDelete,是否可以在某些查询的结果中包含已删除的项目?我正在寻找的是这样的东西......

$q = Doctrine_Query::create()
    ->select('*')
    ->from('Test t')
    ->where('id < ?', 25)
    *->includeDeleted()*;
Run Code Online (Sandbox Code Playgroud)

对于我希望排除已删除记录的大多数查询,这样的事情会很有用,但有时(例如,对于管理员)我希望能够包含已被软删除的记录。是否有一些使用 SoftDelete 的好方法可以做到这一点,或者我应该简单地在大多数查询中添加一个额外的 where 子句?

Øys*_*sen 2

粗略地浏览一下此处此处的源代码,该行为似乎并未提供此功能SoftDelete。您必须where按照您的建议手动添加一个子句。

(我可能是错的,但我很确定Doctrine_Query不能通过像使用 那样的行为来动态扩展Doctrine_Record。您总是可以编写一个特殊的Doctrine_Query子类来添加includeDeleted(),但这似乎比它的价值更值得:))