It looks like the issue might be with the HasEvents trait being used in the Ticket model. This trait is not a part of Laravel's core and might be interfering with the observer functionality.
Try removing the HasEvents trait from the Ticket model and see if the observer starts firing off events on model update.
If you still want to use the HasEvents trait, you can try manually firing off the updated event in the Ticket model's boot method like so:
protected static function boot()
{
parent::boot();
static::updated(function ($ticket) {
event('eloquent.updated: ' . get_class($ticket), $ticket);
});
}
This should trigger the updated event and allow the observer to handle it.
Also, make sure that the EventServiceProvider is registered in your config/app.php file.
'providers' => [
// ...
App\Providers\EventServiceProvider::class,
// ...
],