0

コールバックから削除するのではなく、レコードを更新する動作がありbeforeDeleteます。

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

    return true;
}

に戻るtrueと、削除プロセスが停止せずに続行されます。である次のイベントの伝播を止めたくありませんdelete

stopPropagation()の機能について読んだことCakeEventがありますが、何をすべきか、動作内で正しく使用する方法がわかりません。あなたは私を助けることができます?

4

2 に答える 2

0

削除を停止したい場合は、trueを返す代わりに beforeDelete() コールバックでfalseを返す必要があります。ドキュメントを確認してください:

この関数は、削除を続行する場合は true を返し、中止する場合は false を返します。

したがって、コードは次のようになります。

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

    return false;
}
于 2013-09-27T06:31:38.723 に答える
0

CakePHP コア ライブラリのヘルプ ページから取得:

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

    $event->stopPropogation();
}

それはそれを行う必要があります。

于 2013-05-21T16:25:21.740 に答える