Php 拉威尔模型赛获胜';t火

Php 拉威尔模型赛获胜';t火,php,laravel,events,laravel-5,Php,Laravel,Events,Laravel 5,我正在使用ajax更新我的模型用户,ajax部分工作正常,因为数据在数据库中成功更新,在我的控制器操作中,由以下人员执行更新: $user->update($data); 不起作用的部分: 我在我的模型中使用了boots方法updated,例如: class User extends BaseModel { ... public static function boot() { parent::boot(); self::upd

我正在使用ajax更新我的模型
用户
,ajax部分工作正常,因为数据在数据库中成功更新,在我的控制器操作中,由以下人员执行更新:

$user->update($data);
不起作用的部分:

我在我的模型中使用了
boot
s方法
updated
,例如:

class User extends BaseModel
{
    ...

    public static function boot()
    {
        parent::boot();

        self::updated(function($model){
            Log::info("updated");
            dd($model);
        });
    }
}
这件事从来没有发生过,我不知道为什么

问题:
我试图在模型更新后执行操作,但事件未触发。

您正在静态访问函数: 相反,尝试使用

self::updated(function($model){
            Log::info("updated");
            dd($model);
        });

以下是手册中的说明

通过Eloquent发布大规模更新时,不会为更新的模型触发已保存和更新的模型事件。这是因为在发布大规模更新时,从未实际检索模型

您需要使用
save
来触发事件。比如:

$user->fill($data);
$user->save();

当然,这是假设
$user
是一个模型,而不是查询生成器实例

我要把这部分放在哪里?它应该在某个函数中,不是吗?只需在当前代码中将static改为self即可