为什么我的模型在创建或更新后不触发某些事件

时间:2018-07-06 09:26:50

标签: laravel

在保存或更新模型后,我想触发一些操作。

I wrote this in my model :

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

        self::created(function($appAnswer){
            Log::info('created');
        });

        self::updated(function($appAnswer){
            Log::info('updated');
        });

        Log::info('toto');


    }

创建或更新此模型时,日志文件中只有该模型:

[2018-07-06 11:06:15] local.INFO: toto  
[2018-07-06 11:11:34] local.INFO: toto  
[2018-07-06 11:19:54] local.INFO: toto  
[2018-07-06 11:20:20] local.INFO: toto  
[2018-07-06 11:20:32] local.INFO: toto 

这意味着永远不会触发创建和更新的“事件”。

我的代码有什么问题?

Merci

多米尼克

1 个答案:

答案 0 :(得分:0)

我了解我的问题。它在文档中:

https://laravel.com/docs/5.5/eloquent#updates

通过Eloquent发布批量更新时,不会为已更新的模型触发已保存和已更新的模型事件。这是因为发布批量更新时从未真正检索过模型。

我做了不同的选择,现在可以使用了。谢谢

Dom