backend\models\BuildingSearch::search PHP Method

    public function search($params)
    {
        $query = Building::find();
        $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['id' => SORT_DESC]], 'pagination' => ['pageSize' => 20]]);
        // load the seach form data and validate
        if (!($this->load($params) && $this->validate())) {
            return $dataProvider;
        }
        $dateBegin = strtotime($this->date);
        $dateEnd = $dateBegin + 86400;
        // adjust the query by adding the filters
        $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['school_id' => $this->school_id])->andFilterWhere(['status' => $this->status])->andFilterWhere(['>=', 'created_at', $this->date ? $dateBegin : null])->andFilterWhere(['<', 'created_at', $this->date ? $dateEnd : null]);
        return $dataProvider;
    }

Usage Example

 public function actionIndex()
 {
     $searchModel = new BuildingSearch();
     $dataProvider = $searchModel->search(Yii::$app->request->get());
     return $this->render('index', ['dataProvider' => $dataProvider, 'searchModel' => $searchModel]);
 }
BuildingSearch