public function searchfixed($id) { $comite = Comite::findOne(['id' => $id]); $proyectos_ya_asignados = ArrayHelper::getColumn(ProyectosComite::find()->asArray()->all(), 'proyecto', false); $query = Faer::find()->where(['categoria' => $comite->tipo]); if (!empty($proyectos_ya_asignados)) { $query = $query->andWhere(['not in', 'numero', $proyectos_ya_asignados]); } if (strtoupper($comite->getSubtipo0()->one()->nombre) != "GENERAL") { $query = $query->andWhere(['subcategoria' => $comite->subtipo]); } $dataProvider = new ActiveDataProvider(['query' => $query]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = ProyectosComite::find(); // add conditions that should always apply here $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; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'proyecto' => $this->proyecto, 'comite' => $this->comite, 'fecha_aprobacion' => $this->fecha_aprobacion]); $query->andFilterWhere(['like', 'acta_aprobacion', $this->acta_aprobacion])->andFilterWhere(['like', 'usuario_aprobo', $this->usuario_aprobo]); return $dataProvider; }