where($this->getPKField(), $uid); return $this->getEntity(); } public function getEntityByID(string $id): null | FileEntity { $this->where($this->getTitleField(), $id); return $this->getEntity(); } // protected function convertEntityData(string $field, array $formDatas): string|int // { // switch ($field) { // default: // $value = parent::convertEntityData($field, $formDatas); // break; // } // return $value; // } //create용 public function create(array $formDatas = []): FileEntity { return $this->create_process(new FileEntity(), $formDatas); } //modify용 public function modify(FileEntity $entity, array $formDatas): FileEntity { return $this->modify_process($entity, $formDatas); } public function createByCrawler( BoardsEntity $boards_entity, UserEntity $user_entity, BoardEntity $board_entity, string $board_table, MangboardStorage $storage, array $formDatas = [] ): FileEntity { //Board PID 넣기 $formDatas['board_pid'] = $board_entity->getPk(); $formDatas['user_pid'] = $user_entity->getPK(); $formDatas['user_name'] = $user_entity->getTitle(); $formDatas['board_name'] = $boards_entity->getTitle(); $formDatas['table_name'] = $board_table; $formDatas['file_path'] = $storage->getBasePath() . DIRECTORY_SEPARATOR . $storage->getPath() . DIRECTORY_SEPARATOR . $storage->getOriginName(); $formDatas['file_name'] = $storage->getOriginName(); $formDatas['file_type'] = $storage->getMimeType(); $formDatas['file_caption'] = $storage->getOriginName(); $formDatas['file_alt'] = $storage->getOriginName(); $formDatas['file_description'] = "Filedata"; $formDatas['file_size'] = $storage->getFileSize(); $formDatas['file_sequence'] = $storage->getOriginSequence(); $formDatas['reg_date'] = date("Y-m-d H:i:s"); $entity = $this->create($formDatas); log_message("notice", sprintf( "%s -> %s 게시물의 %s번째:%s 파일 등록 완료", __FUNCTION__, $board_entity->getTitle(), $storage->getOriginSequence(), $entity->getTitle() )); return $entity; } }