_clientService) { $this->_clientService = new ClientService($this->request); } return $this->_clientService; } final public function getEquipmentService(string $key): mixed { if (!array_key_exists($key, $this->_equipmentService)) { switch ($key) { case 'SERVER': $this->_equipmentService[$key] = new ServerService(); break; case 'CPU': $this->_equipmentService[$key] = new CpuService(); break; case 'RAM': $this->_equipmentService[$key] = new RamService(); break; case 'STORAGE': $this->_equipmentService[$key] = new StorageService(); break; case 'LINE': $this->_equipmentService[$key] = new LineService(); break; case 'IP': $this->_equipmentService[$key] = new IpService(); break; case 'DEFENCE': $this->_equipmentService[$key] = new DefenceService(); break; case 'SOFTWARE': $this->_equipmentService[$key] = new SoftwareService(); break; case 'DOMAIN': $this->_equipmentService[$key] = new DomainService(); break; default: throw new \Exception(__FUNCTION__ . "에서 사용하지않는 Service를 요청하였습니다.: {$key}"); } } return $this->_equipmentService[$key]; } protected function getFormFieldOption(string $field): array { switch ($field) { case 'clientinfo_uid': $temps = []; foreach ($this->getClientService()->getEntities() as $entity) { $temps[$entity->getPK()] = $entity->getTitle(); } $options[$field] = $temps; break; case 'SERVER': case 'CPU': case 'RAM': case 'STORAGE': case 'LINE': case 'IP': case 'DEFENCE': case 'SOFTWARE': case 'DOMAIN': $temps = []; // throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다.->{$item_type}"); foreach ($this->getEquipmentService($field)->getEntities() as $entity) { $temps[$entity->getPK()] = $entity->getTitle(); } $options[$field] = $temps; break; default: $options = parent::getFormFieldOption($field); break; } return $options; } //Index,FieldForm관련 }