我有一个行为更新记录而不是从beforeDelete
回调中删除。
public function beforeDelete(Model $model, $cascade = true) {
[...]
return true;
}
当我返回true
时,删除过程继续,而不是停止。我不想停止传播delete
的下一个事件。
我已阅读stopPropagation()
CakeEvent
的{{1}}功能,但不知道该怎么做以及如何在行为中正确使用。愿你帮助我?
答案 0 :(得分:0)
取自the CakePHP core libraries help page:
public function beforeDelete(Model $model, $cascade = true,$event) {
[...]
$event->stopPropogation();
}
应该这样做。
答案 1 :(得分:0)
如果要停止删除,则应在beforeDelete()回调中返回 false ,而不是返回 true 。 检查the documentation:
如果要继续删除,则此函数应返回true,如果要中止,则返回false。
所以你的代码应该是这样的:
public function beforeDelete(Model $model, $cascade = true) {
[...]
return false;
}