0

我有一个更新记录而不是从beforeDelete回调中删除的行为。

public function beforeDelete(Model $model, $cascade = true) {
    [...]

    return true;
}

当我返回true时,删除过程将继续,而不是停止。我不想停止传播下一个事件,即delete.

我已经阅读了有关stopPropagation()的功能,CakeEvent但不知道该做什么以及如何在行为中正确使用。你能帮帮我吗?

4

2 回答 2

0

取自CakePHP 核心库帮助页面

public function beforeDelete(Model $model, $cascade = true,$event) {
    [...]

    $event->stopPropogation();
}

那应该这样做。

于 2013-05-21T16:25:21.740 回答
0

如果你想停止删除,你应该在 beforeDelete() 回调中返回false而不是返回true。检查文档

如果要继续删除,此函数应返回 true,如果要中止,则应返回 false。

所以你的代码应该是这样的:

public function beforeDelete(Model $model, $cascade = true) {
    [...]

    return false;
}
于 2013-09-27T06:31:38.723 回答