有谁知道替代SoftDeletable Behavior与兼容蛋糕1.3.x?CakePHP 1.3替代SoftDeletable行为?
如果没有任何可用的行为可用,有关我如何在最新的Cake中执行此操作的任何建议?
想通了一个快速的黑客攻击。首先,如果您的表格引入tinyint(1)无符号字段名为删除默认为。
在应用程序/ 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);
美中不足的是,无论你在哪里执行find(),都需要指定条件删除!= 1。
仍试图找出如何以与SoftDeletable行为相同的方式实现此功能。
真棒伙计:)欣赏你的努力。 – 2010-12-23 09:38:00
你好,我在我的项目中试过你的代码 - 但它似乎是越来越难删除记录,而不是'删除'字段被设置为0.我包括你的代码,因为它应该是,即作为一种行为,并设置'field'指向我表中的'deleted'字段。当我从控制器调用delete()方法时,它仍然保持硬删除。我在这里错过了什么吗? – 2010-12-27 04:22:15
没关系。一个简单的错字。我使用$ actAs而不是$ actsAs。 – 2010-12-28 04:05:34