[TOC]
# 简介
ActiveRecord也支持模型事件,当模型被创建、更新或者删除的时候出发相应事件,ActiveRecord目前支持的事件类型:`beforeDelete`、`beforeSave`、`afterFind`、`afterSave`、`afterUpdate`、`afterDelete`、`afterRefresh`。
* `beforeDelete`和`afterDelete`很好理解,在删除模型时触发,`beforeDelete`在删除执行前操作,`afterDelete`在删除完成后执行。
* `afterFind`在模型进行查询操作时执行。
* `beforeSave($inser)`方法接受一个参数,是否为新增数据。
~~~
/**
* @param bool $insert
* @return bool
*/
public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
if ($insert) { // 新增操作
// do sth.
}
return true;
} else {
return false;
}
}
~~~
* `afterSave`在模型保存时候进行执行
~~~
/**
* @param bool $insert
* @param array $changedAttributes
*/
public function afterSave($insert, $changedAttributes)
{
if ( parent::afterSave($insert, $changedAttributes)) {
if ($insert) { // 新增操作
// do sth.
} else { // 编辑操作
// do other sth.
}
return true
} else {
return false;
}
}
~~~
* `afterUpdate`在模型更新时候执行
- 目录
- 配置
- 简介
- 别名
- gii
- 配置项
- 模型
- 简介
- 增删改查
- AR和model
- 模型事件
- 场景
- query查询
- 增删改
- AR查询器
- 模型关系定义
- AR模型连表查询
- fields
- where拼接
- 模块
- 创建模块
- 控制器
- 表单
- 跳转
- 响应
- 验证器
- Action
- 组件
- url
- 分页
- 验证码
- 缓存
- 文件上传
- 预启动组件
- 事件
- 自定义组件
- redis
- 日志
- 行为
- cookie和session
- 基础知识
- 创建一个类
- 配置一个类
- object基类
- component组件类特性
- phpstorm无法更改php等级
- url地址美化
- 过滤器
- 请求处理
- 请求组件
- 响应组件
- header
- 用户登录
- 实现IdentityInterface接口
- 登录
- 自动检测登录
- 获取用户信息
- 访问行为追踪
- phpstorm+postman断点调试