删除记录时,我正在测试条件是真还是假,并根据结果继续删除或从中返回。
问题是“return false”会完全停止deleteAll。我的理解是deleteAll只会移动到下一条记录。
这是一个错误,还是我错过了什么?
答案 0 :(得分:2)
beforeDelete
方法允许您在出现故障时中止删除操作。通过让它返回false,您可以中止操作。在这种情况下,deleteAll操作,意味着您中止所有删除。您更有可能寻找的是在foreach循环中删除,例如:
// $data would be the resultset of the rows you want to delete
foreach($data as $row) {
$this->Model->delete($row['Model']['id']);
}
这样,每个行都会单独调用beforeDelete
,允许删除“有效”行,并保留“无效”行。