## Yii2中ActiveRecord模型事件
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`在模型更新时候执行。
## 模型事件使用实例
- 开始
- Yii2开发小技巧
- Yii2使用不同的方式进行邮件发送逻辑处理
- Yii2 Serialization of 'Closure' is not allowed 错误
- Yii创建应用
- Yii应用结构和流程
- Yii的路径别名
- Yii的请求
- Yii的响应
- Sessions 和 Cookies
- Yii自定义全局工具函数
- Yii2模型
- Yii2视图
- Yii2控制器
- 大数据节省内存处理
- 关联查询hasMany、hasOne
- Yii2 URL地址美化
- Yii2整合AdminLTE后台主题
- Yii2模型中的场景
- Yii2中的RBAC
- Yii2项目后台整合yii2-admin模块
- RBAC集成AdminLTE后台主题对菜单进行控制
- Yii2自定义Gii模板
- 修复AdminLTE引用外部字体文件导致访问变慢的情况
- Yii2事件简单使用
- Yii2模型事件
- Yii2使用GridView新增操作按钮
- Yii2向loyout模板文件中传值
- Yii2数据缓存
- Yii2缓存
- Yii2数据缓存之增删改查
- Yii2拓展
- Yii2日期时间插件-datetimepicker
- kartik-v/yii2-widget-fileinput上传插件