有人用过tp5的钩子函数吗?网上资料少的令人发指,我这种情况下如何使用?

其实很简单,若是用过tp3.2的人,知道这种需求的,3.2前都有那钩子函数,我原先使用的很舒服,所以转到5.0,也在找使用方法,知道没有钩子了,现在是事件,并且有文档,我就照着写,如下

protected static function init()

{
        Ad::event('before_insert', function ($user) {
            $user->addtime=time();
    });
    Ad::event('before_update', function ($data) {
        $data->uptime=time();
    });
}

我这么写的话,不管是添加前,还是修改前,都可以正常的进行这两个字段的添加修改

现在我的问题是,为什么,用手册上写的不是before的事件,却都无法像这样,实现数据的curd了呢?我该如何使用?网上没人教,手册,都只写before的,不写after的,自己这么模仿着写完全没作用



protected static function init()
{
        Ad::event('after_insert', function ($user) {
            $user->addtime=time();
    });
    Ad::event('after_update', function ($data) {
        $data->uptime=time();
    });
}

我清楚的记得,在3.2那会,after insert钩子,后面传的那个$data,里面的id就是刚刚入库的那个最新的id,可是在5.0这,我这连更新那两个字段都不行了,我实在不知道怎么写,特来此求教可有高人知道



   **在非before的事件里,如何如上面那样,对表进行操作?这就是我的疑问,可有用过的大神?**
阅读 2k
1 个回答

那执行了,你没意识到而已。
你dump一下应该就看到了

    dump(111);
   $user->addtime=time();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题