删除记录时,我正在测试条件是真还是假,并根据结果继续删除或从中返回。
问题是“return false”完全停止了 deleteAll。我的理解是 deleteAll 只会移动到下一条记录。
这是一个错误,还是我错过了什么?
删除记录时,我正在测试条件是真还是假,并根据结果继续删除或从中返回。
问题是“return false”完全停止了 deleteAll。我的理解是 deleteAll 只会移动到下一条记录。
这是一个错误,还是我错过了什么?
如果出现问题,该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
对每一行单独调用,允许删除“有效”行并保留“无效”行。