4

Cake 1.3.xと互換性のあるSoftDeletableBehaviorの代替手段を知っている人はいますか?

利用可能な動作の準備ができていない場合、最新のCakeでこれを行う方法についての提案はありますか?


簡単なハックを見つけました。何よりもまず、テーブルにdeletedという名前のtinyint(1)unsignedフィールドが導入されている場合、デフォルトは0です。

app / app_model.phpに、次の関数を追加します。

function softDelete( $id ) {
    if( $id && $this->hasField( 'deleted' ) ) {
        $this->id = $id;
        return $this->saveField( 'deleted', 1 );
    }

    return false;
}

次に、コントローラーのメソッド(削除を実行する)から、

$this->Model->softDelete( $id );

キャッチは、find()を実行する場合は常に、削除された条件を指定する必要があります!=1

SoftDeletableの動作と同じ方法でこれを実装する方法をまだ理解しようとしています。

4

2 に答える 2

5

mariano の動作を 1.3 に合わせました。ここを見てください - https://github.com/evilbloodydemon/cakephp-softdeletable2

于 2010-12-23T07:34:12.507 に答える
3

また、注目に値する: CakeDC のUtils プラグインにバンドルされているSoftDelete 動作があります。

于 2011-07-28T10:35:08.523 に答える