[['id', 'uuid', 'fio', 'cname', 'phone', 'email', 'registration_ip', 'created_at', 'last_login_at'], 'safe'], 'createdDefault' => ['created_at', 'default', 'value' => null], 'lastloginDefault' => ['last_login_at', 'default', 'value' => null], ]; } /** @inheritdoc */ public function attributeLabels() { return [ 'id' => Yii::t('user', '#'), 'uuid' => Yii::t('user', 'Nomer Dogovora'), 'username' => Yii::t('user', 'Username'), 'email' => Yii::t('user', 'Email'), 'created_at' => Yii::t('user', 'Registration time'), 'last_login_at' => Yii::t('user', 'Last login'), 'registration_ip' => Yii::t('user', 'Registration ip'), ]; } /** * @param $params * * @return ActiveDataProvider */ public function search($params) { $query = $this->finder->getUserQuery(); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]], ]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $modelClass = $query->modelClass; $table_name = $modelClass::tableName(); if ($this->created_at !== null) { $date = strtotime($this->created_at); $query->andFilterWhere(['between', $table_name . '.created_at', $date, $date + 3600 * 24]); } $query->andFilterWhere(['like', $table_name . '.username', $this->username]) ->andFilterWhere(['like', $table_name . '.phone', $this->phone]) ->andFilterWhere(['like', $table_name . '.email', $this->email]) ->andFilterWhere(['like', $table_name . '.fio', $this->fio]) ->andFilterWhere(['like', $table_name . '.cname', $this->cname]) ->andFilterWhere([$table_name . '.id' => $this->id]) ->andFilterWhere([$table_name . '.uuid' => $this->uuid]) ->andFilterWhere([$table_name . 'registration_ip' => $this->registration_ip]); return $dataProvider; } }