2

I have created Observer for my model to update related data:

<?php

namespace App\Observers;

use App\User;

class UserObserver
{

public function updating(User $user)
    {
        $data = $user->getAttributes();
        dd($data);
        $user->worker->fill($data['worker']);
        $user->push();
    }
}

And add it to my model:

protected static function boot()
{
    parent::boot();
    parent::observe(UserObserver::class);
}

But updating method not firing when updating model:

$user = User::byUsername($username)->first();
$user->update($request->all());

I have worker.rate_per_hour value in request instance and added it to fillable of User model.

So my question is, What I am doing wrong?

Oleg Shakhov
  • 426
  • 6
  • 27

1 Answers1

0

Register the observer in the AppServiceProvider: dir: /app/Providers/AppServiceProvider.php


class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        User::observe(UserObserver::class); // here
    }
}

Note: Make sure you cleared cache & fired composer dumpauto command

dipenparmar12
  • 3,042
  • 1
  • 29
  • 39