在yii2中创建用户时,将默认值加载到另一个表中

时间:2016-09-29 19:01:06

标签: yii2

我有表tbl_user和tbl_activity。

用户可以是三种类型,即。管理员,经理和销售人员。可以有任何号码管理员。只有管​​理员可以插入,更新和数据到tbl_activity。  tbl_activity具有列user_id,用于分隔不同Admin的活动。

用户和活动很好。但我需要的是,如果Admin将创建,我需要在tbl_activity中创建一些默认活动,user_id属于新创建的Admin,这样他们就可以很容易地理解实际的活动是什么。管理员可以删除或更新此活动 在Yii2中插入这些默认活动的正确方法是什么。

我试图在谷歌找到一些东西,但运气不好。任何链接和教程也将非常感谢。 这是我的控制器actionCreate。

public function actionCreate()
{
  $model = new User();
  if ($model->load(Yii::$app->getRequest()->getBodyParams(), '') && $model->validate() && $model->save()
  {
    //data save success message here
  }
  else {
  //validation error message here
  }
 }

模型afterSave

public function afterSave($insert, $changedAttributes)
{
     parent::afterSave($insert, $changedAttributes);
     if($this->id && $insert == '1')
     {
         //Assign role using yii2 admin mdmsoft
         $role = Yii::$app->authManager->getRole($this->position_id);
         //if is role insert into auth_assignment table;
         if(!$role == NULL) 
         {
             Yii::$app->authManager->assign($role,$this->id);
             //if role is admin save default activity
             if($role->name == 'Admin')
             {
                 @TODO function default activity for
                 $this->defaultAdminActivity($model1->id);
             }
         }
      }
 }

 private function defaultAdminActivity($id)
 {
   //@TODO Is where I need to save default activities for Admin
   //suppose default activity is a,b and c. which i need to save to database with $id as user id.
 }

我有角度前端。我正在使用mdmsoft yii-admin。最好在组件内部创建默认值数组,并在defaultAdminActivity()中的数据库中插入带有用户ID的components数组吗?

谢谢

0 个答案:

没有答案