ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
> ## 模型事件:在进行模型的写入操作的时候触发的操作行为,包括模型的save方法和delete方法。 > 注意:模型事件只可以在调用模型的方法才能生效,使用查询构造器通过Db类操作是无效的 ### 定义事件 ``` // 方法一(快捷注册); class User extends Model { protected static function init() { User::beforeInsert(function ($user) { if ($user->status != 1) { return false; } }); } } // 方法二(标签注册): class User extends Model { protected static function init() { User::event('before_insert', function ($user) { if ($user->status != 1) { return false; } }); } } // 注册回调到beforeInsert函数 ,给一个位置注册多个多个回调方法 User::event('before_insert', 'beforeInsert'); ``` 可以使用的标签 | 标签位 | 描述 | |---|---| | before_insert | 新增前 | | after_insert | 新增后 | | before_update | 更新前 | | after_update | 更新后 | | before_write | 写入前 | | after_write | 写入后 | | before_delete | 删除前 | | after_delete | 删除后 | 可使用的快捷方法: | 标签位 | 描述 | |---|---| | beforeInsert | 新增前 | | afterInsert | 新增后 | | beforeUpdate | 更新前 | | afterUpdate | 更新后 | | beforeWrite | 写入前 | | afterWrite | 写入后 | | beforeDelete | 删除前 | | afterDelete | 删除后 |