/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Operacion::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(['id' => $this->id]); $query->andFilterWhere(['like', 'nombre', $this->nombre]); return $dataProvider; }
/** * Updates an existing Rol model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $tipoOperaciones = Operacion::find()->all(); $model->operaciones = \yii\helpers\ArrayHelper::getColumn($model->getRolOperaciones()->asArray()->all(), 'operacion_id'); if ($model->load(Yii::$app->request->post())) { if (!isset($_POST['Rol']['operaciones'])) { $model->operaciones = []; } if ($model->save()) { return $this->redirect(['view', 'id' => $model->id]); } } else { return $this->render('update', ['model' => $model, 'tipoOperaciones' => $tipoOperaciones]); } }
public function getOperacionesPermitidas() { return $this->hasMany(Operacion::className(), ['id' => 'operacion_id'])->viaTable('rol_operacion', ['rol_id' => 'id']); }
/** * Finds the Operacion model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Operacion the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Operacion::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }