2015-04-15 88 views
0

请说出我的意见,我需要在某个表格中插入userIdsome hash,当用户在我的网站上注册时。当用户注册时插入数据

我该怎么做?

据我所知,我需要使用事件,但我还没有想出如何使用它们?

回答

0

我尝试为你解答一步一步的模式。

1)在方法模式UserafterSave补充一点:

public function afterSave() 
    { 
     $this->trigger('event_name'); 
     parent::afterDelete(); 
    } 

2)添加在模型User新方法:

public function init() 
    { 
     $this->on('event_name', ['app\models\SOME_MODEL', 'someMethod']);    
    } 

3)SOME_MODEL添加someMethod代码那样:

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(); 
     }