其实很简单,若是用过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的事件里,如何如上面那样,对表进行操作?这就是我的疑问,可有用过的大神?**
那执行了,你没意识到而已。
你dump一下应该就看到了