Esempio n. 1
0
 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;
 }