Laravel: how to create a function After or Before save|update

后端 未结 3 489
悲哀的现实
悲哀的现实 2020-12-07 16:34

I need to generate a function to call after or before save() or update() but i don\'t know how to do. I think I need a callback from save() update() but I don\'t know how to

3条回答
  •  天命终不由人
    2020-12-07 17:05

    This only works after an event happened on your model.

    Create an observer for your model

    php artisan make:observer UserObserver --model=User
    

    this will create an event observer on your model

    class UserObserver
    {
        /**
         * Handle the User "created" event.
         *
         * @param  \App\Models\User  $user
         * @return void
         */
        public function created(User $user)
        {
            //
        }
    
        /**
         * Handle the User "updated" event.
         *
         * @param  \App\Models\User  $user
         * @return void
         */
        public function updated(User $user)
        {
            //
        }
    
        /**
         * Handle the User "deleted" event.
         *
         * @param  \App\Models\User  $user
         * @return void
         */
        public function deleted(User $user)
        {
            //
        }
    
        /**
         * Handle the User "forceDeleted" event.
         *
         * @param  \App\Models\User  $user
         * @return void
         */
        public function forceDeleted(User $user)
        {
            //
        }
    }
    

    You must register this observer in the boot method on one of your ServiceProviders preferably the AppServiceProvider

    public function boot()
    {
        User::observe(UserObserver::class);
    }
    

提交回复
热议问题