タグ

tipsとmodelに関するCherenkovのブックマーク (2)

  • [CakePHP] SoftDeletable Behavior で論理削除 | Sun Limited Mt.

    先日の第4回 CakePHP 勉強会で発表した内容でもあるのですが、簡単に SoftDeletable Behavior の使い方をまとめました。(少しだけ発表ないようにない追加情報もあります) SoftDeletable Behavior はソフトデリート(論理削除)を簡単に実現してくれる大変便利なビヘイビアです。論理削除とは DB から DELETE するのではなく削除フラグを設けて DELETE する変わりに削除フラグを立てて削除したことにすることです。 一番参考になるのはやはり Bakery です。英語が苦にならない方は私の説明よりも下記エントリを見る方がいいです。 Soft Deletable Behavior (Articles) | The Bakery, Everything CakePHP 勉強会で発表した資料は下記にありますので、よろしければこちらもご覧下さい。 Cak

    Cherenkov
    Cherenkov 2011/12/21
    論理削除 SoftDeletable Behavior ウルトラ便利 説明記事ありがとうございます。deleteAllはforeachでdeleteする関数をつくるしかない?
  • バリデーションのベストプラクティス - 24時間CakePHP

    イントロダクション CakePHPの使い方は多種多様で、もちろん一つのやり方が正解ということはありません。 しかし、CakePHPはフレームワークであるわけで、想定された使い方以外ではその真価をなかなか発揮できません。 CakePHPにおけるモデルは、ビジネスロジックを置くレイヤとして想定されています。 そして、バリデーションを用いることによって保存のロジックを構築するということも想定されています。 これは、何故Cookbookで紹介されるコードが、ほとんどバリデーションとModel::save()の組み合わせであるかということかの答えにもなっています。 悪い例 あなたはModel::save()の代わりとして、以下のようなadd()メソッドをモデルに定義しているかもしれません: <?php class Post extends AppModel { var $validate = arr

    バリデーションのベストプラクティス - 24時間CakePHP
    Cherenkov
    Cherenkov 2011/05/06
    「Model::save()とModel::validate()には、fieldListという名のオプションがあります。これを指定すると、任意のフィールドのみバリデーションと保存ができます」
  • 1