thinkphp6.0模型篇之模型和数据库事件

一、数据库事件

1、执行增删改查的时候,可以触发一些事件来执行额外的操作
2、这些额外的事件可以部署在构造方法里等待激活执行
3、数据库事件执行方法为Db::event(‘事件名’,‘执行函数’),具体事件名如下
在这里插入图片描述
4、数据库事件只正常find、select、update、delete、insert这几个方法
5、在控制器端,事件一般可以写在初始化方法里,方便统一管理

public function initialize()
{
    Db::event('before_select',function ($query)
    {
    echo '执行了批量查询操作';
    });
    Db::event('after_update',function ($query)
    {
    echo '执行了修改操作';
}

二、模型事件

1、支持的事件类型更加的丰富,具体如下
在这里插入图片描述
2、在模型端使用静态方法调用即可完成事件触发

protected static function onAfterRead($query)
    {
        echo '执行了查询方法';
    }
    protected static function onBeforeInsert()
    {
        echo '修改前';
    }
    protected static function onAfterInsert()
    {
        echo '修改成功';
    }
原文地址:https://www.cnblogs.com/laijinquan/p/13823999.html