/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = ProjectManager::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, 'user_id' => $this->user_id]); $query->andFilterWhere(['like', 'organization', $this->organization]); return $dataProvider; }
<?php echo $form->field($model, 'name')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'description')->textarea(['rows' => 6]); ?> <?php echo $form->field($model, 'delivery_date')->widget(\yii\jui\DatePicker::classname(), ['dateFormat' => 'yyyy-MM-dd']); ?> <?php $user = User::find()->where("id=" . Yii::$app->user->id)->one(); $userId = $user->id; $manager = ProjectManager::find()->where("user_id=" . $userId)->one(); $managerId = $manager->id; $students = Yii::$app->db->createCommand('Select registration.student_id, student.id, person.name, person.lastname From registration Inner Join student On registration.student_id = student.id Inner Join user On student.user_id = user.id Inner Join person On user.person_id = person.id where registration.project_id=' . $projectId)->queryAll();
/** * Updates an existing Project 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); $user_id = User::find()->where("id=" . Yii::$app->user->id)->one()->id; $manager_id = ProjectManager::find()->where("user_id=" . $user_id)->one()->id; $model->manager_id = $manager_id; $degreeIds = StudentProfile::find()->where("project_id=" . $model->id)->all(); $cupoValor = ProjectVacancy::find()->where("project_id=" . $model->id)->all(); $ids = ArrayHelper::getColumn($degreeIds, 'degree_id'); $cupo = ArrayHelper::getColumn($cupoValor, 'vacancy')[0]; $model->degrees1 = $ids; $model->vacancy = $cupo; if ($model->load(Yii::$app->request->post()) && $model->save()) { StudentProfile::deleteAll('project_id=' . $model->id); ProjectVacancy::deleteAll('project_id=' . $model->id); $vacancyValue = $_POST['Project']['vacancy']; $newVacancy = new ProjectVacancy(); $newVacancy->project_id = $model->id; $newVacancy->vacancy = $vacancyValue; $newVacancy->save(); $degreesList = $_POST['Project']['degrees1']; foreach ($degreesList as $value) { $this->createStudentProfile($model->id, $value); } Yii::$app->getSession()->setFlash('success', 'Los cambios se han guardado exitosamente'); return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('update', ['model' => $model]); } }