'date_add_from', 'operator' => '>=', ], ]; } public function search($params) { $query = FeedbackCompany::find(); $query->where([ 'user_id' => \Yii::$app->user->id ]); $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $this->load($params); if(!$this->validate()) { return $dataProvider; } $query->andFilterWhere([ 'like', 'LOWER(name)', mb_strtolower($this->name), ]) ->andFilterWhere([ 'like', 'LOWER(phone)', mb_strtolower($this->phone), ]) ->andFilterWhere([ 'status' => $this->status ]); $date_add_from = $this->date_add_from; $date_add_to = $this->date_add_to; if(!empty( $date_add_from )) { $date_add_from = strtotime($date_add_from); } if(!empty( $date_add_to )) { $date_add_to = strtotime($date_add_to) + 86400; } if(!empty( $date_add_from ) && !empty( $date_add_to )) { $query->andWhere([ 'between', 'date_add', $date_add_from, $date_add_to, ]); } elseif(!empty( $date_add_from )) { $query->andWhere([ '>=', 'date_add', $date_add_from, ]); } elseif(!empty( $date_add_to )) { $query->andWhere([ '<=', 'date_add', $date_add_to, ]); } return $dataProvider; } }