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 '修改成功'; }