模型事件是指在进行模型的查询和写入操作的时候触发的操作行为。
> 模型事件只在调用模型的方法生效,使用查询构造器操作是无效的
模型事件其实是你模型操作中的一种解耦利器,如果不太了解的朋友,可以多研究下它们(可以查看[零基础视频模型事件](https://www.kancloud.cn/laowu199/wootp6/2409040))。系统中有很多功能,都是利用模型事件来完成的。
这里的模型事件,系统已经经过了改造,没有按照TP的文档来(当然底层还是按TP方式来的)。
模型事件列表:
~~~
// 查询后
public function afterReadCall()
// 新增前
public function beforeInsertCall()
// 新增后
public function afterInsertCall()
// 更新前
public function beforeUpdateCall()
// 更新后
public function afterUpdateCall()
// 写入前
public function beforeWriteCall()
// 写入后
public function afterWriteCall()
// 删除前
public function beforeDeleteCall()
// 删除后
public function afterDeleteCall()
// 恢复前
public function beforeRestoreCall()
// 恢复后
public function afterRestoreCall()
~~~
为了防止父类模型事件中的代码丢失,我们建议你的事件代码是这样写的:
~~~
/**
* 模型事件示范
* 自执行时机:新增后
*/
public function afterInsertCall()
{
// 调用父类同名方法,防止父类定义的模型事件代码丢失
$parent_return = call_user_func(array('parent', __FUNCTION__));
// 在这里定义你自己的代码 ...
return $parent_return;
}
~~~
- 2.0开发手册
- 基础
- 简介
- 安装
- 目录
- 规范(必看)
- 快速开发
- 创建模型
- 字段管理
- 无限级开发
- 模型Model
- 定义
- 方法
- 事件
- 关联
- 关联查询
- 验证
- 后台控制器Controller
- 定义
- 列表【index】
- 新增【create】
- 修改【modify】
- 删除【delete】
- 详细【detail】
- 文本审核【antispam】
- 清空数据【clearData】
- 自定义页面
- 视图View
- 视图使用
- 引入CSS和JS
- 基础表单构建Form
- 布局表单构建FormPage
- 表单构建器的基础使用
- 表单项
- 表单分组
- 表单触发器
- 表单布局
- 数据提交验证和入库
- 集成tinymce编辑器
- 集成nkeditor编辑器
- 表格构建Table
- 表格构建器基础使用
- 表格构建器列表字段相关
- 自定义列表头部工具按钮
- 自定义列表项工具按钮
- 自定义搜索
- 定义列表侧边栏
- 静态数据
- 更多属性和回调
- 自定义模板V2.1.0
- 列表统计输出V2.1.2
- 常见问题
- 自定义应用
- 创建新应用
- 应用开发
- API应用
- 自定义插件
- 创建新插件
- 杂项
- 认证Auth
- 权限管理
- 上传Upload
- 批量导入
- 助手库
- 系统配置
- 字典
- 二维码生成
- 源码修改
- 常见问题
- 小技巧,小细节
- 插件
- oauth
- APP一键登录
- 微信小程序登录
- 2.0CMS建站
- 基础
- 安装
- 建站
- Callback
- 引入CSS和JS
- 模板
- 栏目数据
- 列表页数据
- 详细页数据
- 栏目封面
- 自定义表单
- 其他数据和自定义数据
- wap视图层
- 前台搜索
- API开发
- CMS应用日志
- CMS升级指导
- 中台-SAAS开发
- 安装
- 中台日志
- 中台升级指导
- ★★2.0视频教程★★
- 附录
- Admin核心更新日志
- Admin核心升级指导
- composer
- 安全