有谁知道与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 行为相同的方式实现这一点。