Я могу запустить событие confirmed
в методе Payment->confirmed()
, например:
public function confirmed(){
// todo, throw an exception if already confirmed
$this->setAttribute('confirmed_at', now());
$this->setAttribute('status', 'confirmed');
// fire custom event
$this->fireModelEvent('confirmed');
}
и зарегистрировать пользовательское событие в $dispatchesEvents
protected $dispatchesEvents = [
'confirmed' => \App\Events\Payment\ConfirmedEvent::class
];
Готово. Событие \App\Events\Payment\ConfirmedEvent::class
будет вызываться при вызове метода Model confirmed()
.
Также рекомендуется вызывать исключение, если метод valid () вызывается дважды.