table = $table; $fields = [ "gid", "title", "user_pid", "user_id", "user_name", "level", "data_type", "editor_type", "image_path", "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] = "if_exist|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': case 'level': case 'user_pid': $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 { return $this->create_process($entity); } //modify용 public function modify(BoardEntity $entity): BoardEntity { return $this->modify_process($entity); } }