[CakePHP]モデルのコールバックを無効化にする

モデルのコールバックメソッドが様々ありますが、無効化したい場合があります。

find, save共に第2引数にcallbacksをキーとした配列を渡すことでモデルのコールバック実行の可否を伝えることが可能です。

find(beforeFind, afterFind共に無効化)

1
2
3
$this->find('first', array(
    'callbacks' => false
));

find(beforeFindのみ有効)

1
2
3
$this->find('first', array(
    'callbacks' => 'before'
));

find(afterFindのみ有効)

1
2
3
$this->find('first', array(
    'callbacks' => 'after'
));

save(beforeSave, afterSave共に無効化)

1
2
3
$this->save($data, array(
    'callbacks' => false
));

save(beforeSaveのみ有効)

1
2
3
$this->save($data, array(
    'callbacks' => 'before'
));

save(afterSaveのみ有効)

1
2
3
$this->save($data, array(
    'callbacks' => 'after'
));

という小ネタ。

Comments