public function searchforgrupavid($params) { $query = Matvid::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['matvid_name' => SORT_ASC]]]); $query->joinWith(['grupavids']); $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(['matvid_id' => $this->matvid_id]); $query->andFilterWhere(['like', 'matvid_name', $this->matvid_name]); $query->andFilterWhere(['like', 'grupavids.grupa_main', $this->getAttribute('grupavids.grupa_main')]); Proc::AssignRelatedAttributes($dataProvider, ['grupavids.grupa_main']); return $dataProvider; }