示例#1
0
 public function afterSave($insert, $changedAttributes)
 {
     //$oldCategorias = array("0"=>1);
     $actualItens = [];
     if (($actualItens = AuthItemChild::find()->andWhere("parent = '{$this->name}'")->asArray()->all()) !== null) {
         $actualItens = ArrayHelper::getColumn($actualItens, 'child');
     }
     //verifica se é um array
     $this->itemIds = is_array($this->itemIds) ? $this->itemIds : [$this->itemIds];
     $inserirItens = array_diff($this->itemIds, $actualItens);
     if (!empty($inserirItens)) {
         //save the relations
         foreach ($inserirItens as $id) {
             $r = new AuthItemChild();
             $r->parent = $this->name;
             $r->child = $id;
             $r->save();
         }
     }
     $delItens = array_diff($actualItens, $this->itemIds);
     if (!empty($delItens)) {
         foreach ($delItens as $remove) {
             $r = AuthItemChild::findOne(['child' => $remove, 'parent' => $this->name]);
             $r->delete();
         }
     }
     parent::afterSave($insert, $changedAttributes);
     //don't forget this
 }
 /**
  * Creates a new AuthItemChild model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new AuthItemChild();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'parent' => $model->parent, 'child' => $model->child]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
 /**
  * @return string|\yii\web\Response
  */
 public function actionCreate()
 {
     $model = new AuthItemChild();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         Yii::$app->getSession()->setFlash('permission-create-success');
         return $this->redirect(['index']);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }