Beispiel #1
0
 public function search($params)
 {
     $query = self::find()->joinWith(['author']);
     $query->all();
     $dataProvider = new \yii\data\ActiveDataProvider(['query' => $query]);
     $dataProvider->setSort(['attributes' => ['id', 'name', 'author_id' => ['asc' => ['firstname' => SORT_ASC, 'lastname' => SORT_ASC], 'desc' => ['firstname' => SORT_DESC, 'lastname' => SORT_DESC], 'default' => SORT_ASC], 'date', 'date_create']]);
     if ($params->author_id) {
         $query->andFilterWhere(['author_id' => $params->author_id]);
     }
     if ($params->name) {
         $query->andFilterWhere(['like', 'name', $params->name]);
     }
     if ($params->fromDate && $params->toDate) {
         $fromDate = split('/', $params->fromDate);
         $fromDate = $fromDate[2] . '-' . $fromDate[1] . '-' . $fromDate[0];
         $toDate = split('/', $params->toDate);
         $toDate = $toDate[2] . '-' . $toDate[1] . '-' . $toDate[0];
         $query->andFilterWhere(['between', 'date', $fromDate, $toDate]);
     }
     return $dataProvider;
 }