$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, 'user_id' => $this->user_id, 'delivery' => $this->delivery, 'payment' => $this->payment, 'status' => $this->status, ] ); $query->andFilterWhere( [ 'like', 'name', $this->name, ] ) ->andFilterWhere( [ 'like', 'email', $this->email, ] ) ->andFilterWhere( [ 'like', 'phone', $this->phone, ] ); if (!empty($this->date_range)) { $this->date_from = strtotime(explode('to', $this->date_range)[ 0 ]); $this->date_to = strtotime(explode('to', $this->date_range)[ 1 ]); $query->andFilterWhere( [ '>=', 'created_at', $this->date_from, ] ); $query->andFilterWhere( [ '<=', 'created_at', $this->date_to, ] ); } return $dataProvider; } }