4

有谁知道与Cake 1.3.x兼容的SoftDeletable Behavior的替代方法?

如果没有任何现成的行为可用,关于我如何在最新的 Cake 中执行此操作的任何建议?


想出了一个快速的技巧。首先,如果您的表引入了一个名为deleted默认为0的tinyint(1) 无符号字段。

app/app_model.php中,添加以下函数:

function softDelete( $id ) {
    if( $id && $this->hasField( 'deleted' ) ) {
        $this->id = $id;
        return $this->saveField( 'deleted', 1 );
    }

    return false;
}

然后从控制器的方法(执行删除)调用,

$this->Model->softDelete( $id );

Catch 是,无论您在哪里执行find(),都需要指定条件deleted != 1

仍在试图弄清楚如何以与 SoftDeletable 行为相同的方式实现这一点。

4

2 回答 2

5

我已将 mariano 的行为调整为 1.3。看这里 - https://github.com/evilbloodydemon/cakephp-softdeletable2

于 2010-12-23T07:34:12.507 回答
3

另外值得注意的是: CakeDC 的Utils 插件中捆绑了一个SoftDelete 行为

于 2011-07-28T10:35:08.523 回答