Yii2 用户注册时插入数据

Yii2 用户注册时插入数据,yii2,yii2-user,Yii2,Yii2 User,请告诉我,当用户在我的网站上注册时,我需要在一些表中插入userId和一些散列 我该怎么做 据我所知,我需要使用事件,但我还不知道如何使用它们?我尝试逐步为您解答 1) 在modelUser中,在methodafterSave中添加以下内容: public function afterSave() { $this->trigger('event_name'); parent::afterDelete(); } 2) 附加模块用户新方法: p

请告诉我,当用户在我的网站上注册时,我需要在一些表中插入
userId
一些散列

我该怎么做


据我所知,我需要使用事件,但我还不知道如何使用它们?

我尝试逐步为您解答

1) 在model
User
中,在method
afterSave
中添加以下内容:

public function afterSave()
    {
        $this->trigger('event_name');
        parent::afterDelete();
    }
2) 附加模块
用户
新方法:

public function init()
    {
        $this->on('event_name', ['app\models\SOME_MODEL', 'someMethod']);            
    }
3) 在
SOME_MODEL
中添加
somethod
这样的代码:

    public static function someMethod($event)
        {
            /** @var \yii\base\Event $event */
            /** @var ActiveRecord $event->sender */
            $userId = Yii::$app->user->id;
// some code to add in table or send to email
            $model = new Logs([
                'type' => $event->sender->getType(),
                'action' => $event->name,
                'id_user' => $userId,
                'old_data' => Json::encode($event->sender->attributes),
                'new_data' => Json::encode($event->sender->oldAttributes),
            ]);
            $model->save();
        }