## 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上傳插件