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
中,在methodafterSave
中添加以下内容:
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();
}