php - Laravel:当用户表中的特定列发生变化时如何触发事件?

标签 php laravel events notifications eloquent

在我的用户表中,我有一列名称为已验证,数据类型为 bool 值,默认值为“false”,但是,当任何特定用户的该列值更改为“true”时,我想触发一个事件,所以我可以制作一个基于该事件的通知?
有什么想法可以实现这一目标吗?

最佳答案

您可以向模型事件添加一个 Hook 并执行检查。下面的代码在您的模型中。您可能希望也可能不希望将用户对象与事件一起传递。如果您要发送通知,这可能会派上用场。

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

    static::updated(function($user) {
        if ($user->verified == true) {
            event(new UserVerified($user));
        }
    });
}

关于php - Laravel:当用户表中的特定列发生变化时如何触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44052794/

相关文章:

php - 我什么时候应该在没有 die() 的情况下调用 header ('Location' )?

events - Umbraco - 如何添加自定义通知?

windows - 事件是否发出信号意味着什么?

php - 如何使用 phpseclib 复制或移动远程文件?

php - 将文本框(php)中的内容保存到 mySQL 中时没有任何反应

javascript - 在 ajax 完成时更新 jQuery 变量

php - 将具有匹配 ID 的表中的数据获取到 Laravel 中的数据透视表

linux - 使用 nginx 上传文件导致 408/EAGAIN

laravel 和请求验证

android - 在 Android 中,是否可以在关键事件到达具有焦点的 subview 之前全局拦截它们?