createQuery() ->joinWith('lang'); // 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, 'sort' => $this->sort, 'status' => $this->status, ] ); return $dataProvider; } /** * Return ActiveQuery for current model * * @return \yii\db\ActiveQuery */ abstract protected function createQuery(): ActiveQuery; /** * @inheritdoc */ public function getGroupId() { } /** * @inheritdoc */ public function setGroupId(int $id) { } /** * @inheritdoc */ public function getGroup(): ActiveQuery { return new ActiveQuery(self::className()); } }