$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([ 'error' => $this->error, 'record_type' => $this->record_type, 'importer_id' => $this->importer_id, ]); // $query->andFilterWhere(['like', 'log_msg', $this->log_msg]) // ->andFilterWhere(['like', 'file_name', $this->file_name]); // отбор по дате if( !empty( $this->time_start ) || !empty( $this->date_to ) ){ $date_from = \Yii::$app->converter->convertTo( 'timestamp', $this->time_start ); // в БД time_start хранится в timestamp, а не в строке unixtimestamp, поэтому нужно преобразовать в mysql timestamp $date_from = date('Y-m-d H:i:s', $date_from); $date_to = \Yii::$app->converter->convertTo( 'timestamp', $this->date_to, ['begin_of_the_day' => false] ); $date_to = date('Y-m-d H:i:s', $date_to); $query->andFilterWhere([ 'between', 'time_start', $date_from, $date_to ]); } // всегда сортируем по дате $query->orderBy('time_start DESC'); return $dataProvider; } }