primaryKey; } public function getTitleField(): string { return 'user_name'; } public function getFieldRule(string $field, array $rules): array { switch ($field) { case "user_id": case "passwd": $rules[$field] = "required|trim|string"; break; case "user_state": $rules[$field] = "if_exist|trim|string"; break; case "user_email": $rules[$field] = "if_exist|trim|valid_email"; break; case "user_level": case "user_point": $rules[$field] = "if_exist|numeric"; break; default: $rules = parent::getFieldRule($field, $rules); break; } return $rules; } public function getEntityByPK(int $uid): null|UserEntity { $this->where($this->getPK(), $uid); return $this->getEntity(); } public function getEntityByID(string $id): null|UserEntity { $this->where('user_id', $id); return $this->getEntity(); } //create용 public function setCreateField() { $this->setFields(["user_id", "passwd", "user_name", "user_email", "user_state", "user_level", "user_point"]); $this->setRules($this->getFields()); } public function create(UserEntity $entity, array $formDatas = []): UserEntity { $entity = $this->create_process($entity, $formDatas); //GID값이 PK랑 같은 값 전달 후 Entity 수정 $entity->setGID($entity->getPK()); return $this->modify_process($entity); } //modify용 public function setModifyField() { $this->setFields(["user_id", "passwd", "user_name", "user_email", "user_state", "user_level", "user_point"]); $this->setRules($this->getFields()); } public function modify(UserEntity $entity, array $formDatas = []): UserEntity { return $this->modify_process($entity, $formDatas); } }