/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = AuthItemChild::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['like', 'parent', $this->parent])->andFilterWhere(['like', 'child', $this->child]); return $dataProvider; }
/** * @return \yii\db\ActiveQuery */ public function getAuthItemChildren0() { return $this->hasMany(AuthItemChild::className(), ['child' => 'name']); }
public function actionAddchild($idparent) { $model = new AuthItemChild(); $model->parent = $idparent; $command = Yii::$app->request->post('commandAction'); if (isset($command)) { $model->load(Yii::$app->request->post()); $respond = $model->validate(); if ($respond) { $auth = Yii::$app->authManager; $parent = $auth->getRole($model->parent); if (is_null($parent)) { $parent = $auth->getPermission($model->parent); } $child = $auth->getRole($model->child); if (is_null($child)) { $child = $auth->getPermission($model->child); } $auth->addChild($parent, $child); return $this->redirect(['view', 'id' => $idparent]); } else { throw new HttpException('400', serialize($model->errors)); } } else { return $this->render('addchild', ['model' => $model]); } }
/** * Finds the AuthItemChild model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param string $parent * @param string $child * @return AuthItemChild the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($parent, $child) { if (($model = AuthItemChild::findOne(['parent' => $parent, 'child' => $child])) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }