Fire Laravel events on touch

Fire Laravel events on touch

this is my scenario: I'm using Laravel 5.5.x. I have two models, linked in one to many way.

this is my scenario: I'm using Laravel 5.5.x. I have two models, linked in one to many way.

class Artwork extends Model
{
   //It has timestamps
   protected $table = 'artworks';
   protected $fillable = [
        'artwork_category_id'
   ];
   public function artworkCategory()
    {
        return $this->belongsTo('App\Models\ArtworkCategory');
    }
}

class ArtworkCategory extends Model { use SoftDeletes;

protected $touches = ["artworks"];

/**
 * @var string
 */
protected $table = 'artwork_categories';
 protected $fillable = [
    'category_name',
    'acronym',
    'deleted_at'
];

public function artworks()
{
    return $this->hasMany('App\Models\Artwork');
}

}

Touch works correctly, so when I update an artwork category the related artworks updated_at field is updated.

But I need to listen the "touch" event on each artwork. I've tried inserting "updated" listener on boot method in AppServiceProvider, but it is not fired.

Artwork::updated(function ($model){
            \Log::debug("HERE I AM");
        });

I've tried using an observer, but no luck.

class ArtworkObserver
{
    public function updated(Artwork $artwork)
    {
        dd($artwork);
    }
}

Boot method in AppServiceProvider:

Artwork::observe(ArtworkObserver::class)

Question: Could somebody show me the right way to do it? Or tell me where am I wrong? I was not good enough to find an example that helps me how to do it.

Update I need to achieve this because I have to "fire" Scout to save updated data on Elasticsearch on Artwork index.

php laravel

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Php how to delete multiple rows through checkbox using ajax in laravel

In this article i will let you know to delete multiple rows through checkbox using ajax in laravel and before delete we will give a confirmation message.

5 Laravel’s Hidden Gems

Spread the love1. Stop on first validation error By default, Laravel will check for all validation rules and return a list of errors. But if you want to stop this process after first validation failure, that’s how you can achieve…Read More→

Some of the most frequent how tos in Laravel

Spread the loveHow to get relationship from relationship using With() in Laravel Some times there are cases where you want to get relationship from relationship in Laravel, that can be achieved via following: How to create multiple where clauses in…Read More→

10 Laravel Quick Tips

Spread the loveTip 1. Controllers Having Single Action In some situations you need a single action in a controller, if this is the case in Laravel you can achieve it by __invoke() method. Routes: Artisan command to generate this controller:…Read More→

Laravel Sanctum vs Passport

After the Laravel Sanctum package was released? Everywhere question was asked that When to use Sanctum and when to use Passport? So, in this video, you will ...