setScenario($options['scenario']); } } return $model; } public function newModel(array $options = []) { $model = new User(); $model->loadDefaultValues(); isset($options['scenario']) && $model->setScenario($options['scenario']); return $model; } public function create(array $postData, array $options = []) { $model = $this->newModel($options); if( $model->load($postData) ){ $model->generateAuthKey(); $model->setPassword($model->password); if( $model->save() ) { return true; } } return $model; } public function getUserCountByPeriod($startAt=null, $endAt=null) { $model = User::find(); if( $startAt != null && $endAt != null ){ $model->andWhere(["between", "created_at", $startAt, $endAt]); }else if ($startAt != null){ $model->andwhere([">", "created_at", $startAt]); } else if($endAt != null){ $model->andWhere(["<", "created_at", $endAt]); } return $model->count('id'); } }