observerをキャンセルする

Laravel ロゴ

Laravelにはobserver機能があって、Modelに書き込みが会った時のイベントをキャッチして何かやらせるということができます。CakePHPで言うところのafterSave()みたいなものですね。

Observer自体は公式マニュアルを見ればわかるのですが、問題はこれをキャンセルしたい場合どうやってやるのか書いてない!
と言うわけで調べました。こんな感じでできるようです。

//無効にする
Model::flushEventListeners();
//有効にする
Model::observe(ModelObserver::class)

// 実際にはこんな感じでやればいい

$user = new User();
$user->flushEventListeners();
タイトルとURLをコピーしました