モデルごとのfind()処理直後に処理をかましたい場合。
モデルに下記のファンクションを定義すれば良い。
※関数のスコープや引数、引数の初期値まで同一でないと動作しないので注意。
例えば下記のような感じ。
class ModelName extends AppModel { // find実行後、modelのバーチャルフィールドをリセットする public function afterFind($results, $primary = false) { $this->virtualFields = []; return $results; } }
ここではfind()後に毎回モデルのバーチャルフィールドをリセットしている。
各モデルメソッドから動的にバーチャルフィールドを設定している場合に便利。