public function testNewCg07() { $utils = new Utils(); $factory = new MetadataFactory($this->doctrine); $entityInfo = $factory->getClassMetadata('Lowbi\\SystemBundle\\Entity\\Cg07')->getMetadata(); $simpleField = array(); $entityField = array(); foreach ($entityInfo[0]->fieldMappings as $field) { if ($field['fieldName'] != 'id') { $simpleField[] = $field; } } foreach ($entityInfo[0]->associationMappings as $field) { $entityField[] = $field; } $myEntity = new Category(); foreach ($simpleField as $field) { $setter = 'set' . ucfirst($field['fieldName']); if (method_exists($myEntity, $setter)) { $myEntity->{$setter}($utils->fillField($field)); } } // @codeCoverageIgnoreStart foreach ($entityField as $entity) { switch ($entity['type']) { case ClassMetadataInfo::MANY_TO_MANY: $itemTolink = $this->em->getRepository($entity['targetEntity'])->findAll(); $fieldName = substr($entity['fieldName'], 0, strlen($entity['fieldName']) - 1); $setter = 'add' . ucfirst($fieldName); if (method_exists($myEntity, $setter) && count($itemTolink) > 0) { $myEntity->{$setter}($itemTolink[0]); } break; case ClassMetadataInfo::MANY_TO_ONE: $itemTolink = $this->em->getRepository($entity['targetEntity'])->findAll(); $fieldName = substr($entity['fieldName'], 0, strlen($entity['fieldName']) - 1); $setter = 'set' . ucfirst($fieldName); if (method_exists($myEntity, $setter) && count($itemTolink) > 0) { $myEntity->{$setter}($itemTolink[0]); } break; case ClassMetadataInfo::ONE_TO_ONE: $itemTolink = $this->em->getRepository($entity['targetEntity'])->findAll(); $fieldName = substr($entity['fieldName'], 0, strlen($entity['fieldName']) - 1); $setter = 'set' . ucfirst($fieldName); if (method_exists($myEntity, $setter) && count($itemTolink) > 0) { $myEntity->{$setter}($itemTolink[0]); } break; } } // @codeCoverageIgnoreEnd $this->em->persist($myEntity); $this->em->flush(); return $entityField; }