更改列后调用函数

时间:2016-08-31 11:13:36

标签: laravel laravel-5 laravel-5.2

我想知道我的表中的列何时更改。

例如,如果用户更改了fist-name列,我想找出它(调用我的自定义函数)。

laravel中是否有任何function/library/plugin来帮助我?

1 个答案:

答案 0 :(得分:1)

您可以挂钩模型的更新事件,检查是否更改了名字,并发送事件。例如:

<?php

namespace App\Providers;

use App\User;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        User::updating(function ($user) {
            if ($user->isDirty('first_name')) {
                event(FirstNameWasChanged::class);
            }
        });
    }

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

然后你只需要在事件中编写你的通知逻辑。