/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Specialists1::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, 'factor' => $this->factor, 'factor_code' => $this->factor_code, 'optional' => $this->optional, ]); $query->andFilterWhere(['ilike', 'name', $this->name]); return $dataProvider; }
protected static function addSpecialists($specialists_arr, $factor, $factor_group) { if ($factor_group == 1) { $specialists = Specialists1::find()->where(['factor' => $factor])->andWhere("name not like '%*%'")->all(); } else { $specialists = Specialists2::find()->where(['factor' => $factor])->andWhere("name not like '%*%'")->all(); } if ($specialists) { foreach ($specialists as $specialist) { $specialists_arr[] = $specialist->name; } } return $specialists_arr; }