Laravel中Eloquent event事件的使用

该文章实战删除用户事件监听

在模型的生命周期:retrievedcreatingcreatedupdatingupdatedsavingsaveddeletingdeletedrestoringrestored。事件容许您在每次在数据库中保存或更新特定模型类时轻松执行代码。每一个事件都经过其构造函数接收模型的实例。php

retrieved从数据库中检索现有模型时将触发该事件。当第一次保存新模型时,将触发creatingcreated事件。若是数据库中已存在模型而且save调用该方法,则会触发updating/ updatedevents。可是,在这两种状况下,saving/ savedevents都会触发。数据库

执行如下命令

php artisan make:event DeleteUserEvent复制代码
php artisan make:listener DeleteUserListener复制代码

在providers下/EventServiceProvider文件下添加以下信息

protected $listen = [
    'App\Events\DeleteUserEvent' => [
        'App\Listeners\DeleteUserListener',
     ],
];复制代码

在model中添加监听事件

protected $dispatchesEvents = [
   'deleted' => DeleteUserEvent::class,
];复制代码

Event文件添加user模型

Listener文件添加user模型,并在handle中编写逻辑,最终实现功能

纯原创,全部做品都是实战经验,但愿能够得到你们的支持。

相关文章
相关标签/搜索