addClassName('Ip'); } public function getModelClass(): IpModel { return new IpModel(); } public function getEntityClass(): IpEntity { return new IpEntity(); } public function getFormFields(): array { return [ "lineinfo_uid", "ip", "status", ]; } public function getFilterFields(): array { return ["lineinfo_uid", 'status']; } public function getBatchJobFields(): array { return ['status']; } public function getIndexFields(): array { return ['lineinfo_uid', 'ip', 'status']; } public function createByLineInfo(LineEntity $entity, string $ip): IpEntity { $formDatas = []; $formDatas['lineinfo_uid'] = $entity->getPK(); $formDatas['ip'] = $ip; $formDatas['status'] = DEFAULTS['STATUS']; return $this->create($formDatas, new IpEntity()); } //상태변경 public function setStatus(int $uid, string $status): IpEntity { //code의 경우 사용가능/사용중으로 설정작업 $entity = $this->getEntity($uid); if (!$entity) { throw new \Exception("{$uid}에 대한 IP정보를 찾을수 없습니다."); } return $this->getModel()->modify($entity, ['status' => $status]); } }