/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Product::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, 'price' => $this->price, 'status' => $this->status, 'brand_id' => $this->brand_id, 'type_id' => $this->type_id, 'available_on' => $this->available_on, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'sku', $this->sku])->andFilterWhere(['like', 'title', $this->title])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'quantity', $this->quantity]); return $dataProvider; }