table = $table; $fields = ["title", "user_name", "data_type", "editor_type", "reg_date", "hit", "content"]; parent::__construct($fields); } public function getTitleField(): string { return 'title'; } public function getFieldRule(string $field, array $rules): array { switch ($field) { case 'gid': $rules[$field] = "required|numeric"; break; case "data_type": $rules[$field] = "if_exist|trim|in_list[html,text]"; break; case "editor_type": $rules[$field] = "if_exist|trim|in_list[N,S]"; break; case "reg_date": $rules[$field] = "if_exist|valid_date"; break; case "content": $rules[$field] = "required|trim|string"; break; case 'hit': $rules[$field] = "if_exist|numeric"; break; default: $rules = parent::getFieldRule($field, $rules); break; } return $rules; } public function getEntityByPK(int $uid): null | BoardEntity { $this->where($this->getPKField(), $uid); return $this->getEntity(); } public function getEntityByID(string $id): null | BoardEntity { $this->where('user_id', $id); return $this->getEntity(); } //create용 public function create(BoardEntity $entity): BoardEntity { $entity = $this->create_process($entity); //GID값이 PK랑 같은 값 전달 후 Entity 수정 $entity->gid = $entity->getPK(); $this->setFields(["gid"]); return $this->modify_process($entity); } //modify용 public function modify(BoardEntity $entity): BoardEntity { return $this->modify_process($entity); } }