table = $table; parent::__construct(); } 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": case "image_path": $rules[$field] = "if_exist|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($this->getTitleField(), $id); return $this->getEntity(); } //create용 public function create(array $formDatas = []): BoardEntity { $entity = $this->create_process(new BoardEntity(), $formDatas); //입력후 PID값을 GID값에 넣어주기 위함 return $this->modify($entity, ['gid' => intval($entity->getPK())]); } //modify용 public function modify(BoardEntity $entity, array $formDatas): BoardEntity { return $this->modify_process($entity, $formDatas); } }