Eloquentのモデルのイベントをリスニングする
ドキュメントにも一応書いてあるけどなんか半端なので。
https://laravel.com/docs/5.6/eloquent#events https://readouble.com/laravel/5.5/ja/eloquent.html#events
- モデルの
$dispatchesEvents
に、['イベント名' => イベントクラス::class, ...]
の形の配列を指定する。 artisan make:event
などで、イベントクラスを作る。必須のメソッドはコンストラクタだけ。make:event
ではbroadcastOn()
もできるけど、これはブロードキャスト用なので必要なとき以外は必要ない。
これだけでOK. Eloquentモデルのイベントをリスニングするだけなら、ほかでの登録などは不要。そこをねー、ちゃんとドキュメントに書いておいて欲しいんだが。$dispatchesEvents
の挙動を。
コード的にはIlluminate\Database\Eloquent\Concerns\HasEvents
に書いてある。