CakePHP 1.3替代SoftDeletable行为?

miC*_*inG 4 recycle-bin cakephp behavior soft-delete

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

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


弄清楚快速入侵.首先,如果您的表引入了一个名为deletedtinyint(1)无符号字段,默认为0.

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

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

    return false;
}
Run Code Online (Sandbox Code Playgroud)

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

$this->Model->softDelete( $id );
Run Code Online (Sandbox Code Playgroud)

Catch是,无论你在哪里执行find(),都需要指定删除的条件!= 1.

仍然试图找出如何以与SoftDeletable行为相同的方式实现它.

小智 5

我已经将马里亚诺的行为改编为1.3.看这里 - https://github.com/evilbloodydemon/cakephp-softdeletable2