From 3cafed326431e1cf41a82cdac4a4c5e9fd949433 Mon Sep 17 00:00:00 2001 From: Marc Ducobu Date: Fri, 3 Oct 2014 19:02:30 +0200 Subject: [PATCH] ManyToMany(Class) --- .../JsonCustomFieldToArrayTransformer.php | 57 +++++++++---------- 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php b/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php index 70b72deab..f586327df 100644 --- a/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php +++ b/src/CL/CustomFieldsBundle/Form/DataTransformer/JsonCustomFieldToArrayTransformer.php @@ -29,16 +29,16 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface { $customFieldsByLabel = array_combine($customFieldsLablels, $customFields); /* - echo "
- -
"; + echo "
- 1 -
"; var_dump($customFields); - echo "
- -
"; + echo "
- 2 -
"; var_dump($customFieldsLablels); - echo "
- -
"; - + echo "
- 3 -
"; + var_dump($customFieldsByLabel); */ @@ -49,32 +49,26 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface { { echo $customFieldsJSON; $customFieldsArray = json_decode($customFieldsJSON,true); - /* - echo "
- -
"; + + echo "
- 4 -
"; var_dump($customFieldsArray); - echo "
- -
"; - */ - + echo "
- 5 -
"; + ยจ*/ $customFieldsArrayRet = array(); foreach ($customFieldsArray as $key => $value) { $traited = false; if(array_key_exists($key, $this->customField)) { - /* - echo "
- - - -
"; - echo $value; - echo "
- - - -
"; - */ - - if($this->customField[$key]->getType() === 'ManyToOne(Adress)') { + $type = $this->customField[$key]->getType(); + if(strpos($type,'ManyToOne') === 0) { + $entityClass = substr($type, 10, -1); $customFieldsArrayRet[$key] = $this->om - ->getRepository('CLCustomFieldsBundle:Adress') - ->findOneById($value); - + ->getRepository('CLCustomFieldsBundle:' . $entityClass) + ->findOneById($value); $traited = true; } } @@ -84,7 +78,7 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface { } } - var_dump($customFieldsArray); + //var_dump($customFieldsArray); return $customFieldsArrayRet; } @@ -92,11 +86,15 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface { public function reverseTransform($customFieldsArray) { /* - echo "
- - - -
"; + echo "
- - 7 -
"; - var_dump($customFieldsArray); + var_dump(array_keys($customFieldsArray)); - echo "
- - - -
"; + echo "
- - 8 -
"; + + var_dump(array_keys($this->customField)); + + echo "
- - 9 -
"; */ $customFieldsArrayRet = array(); @@ -104,15 +102,11 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface { foreach ($customFieldsArray as $key => $value) { $traited = false; if(array_key_exists($key, $this->customField)) { - if($this->customField[$key]->getType() === 'ManyToOne(Adress)') { + $type = $this->customField[$key]->getType(); + if(strpos($type,'ManyToOne') === 0) { + //$entityClass = substr($type, 10, -1); + //echo $entityClasss; $customFieldsArrayRet[$key] = $value->getId(); - - /* - echo "
- - - -
"; - echo $value->getId(); - echo "
- - - -
"; - */ - $traited = true; } } @@ -120,6 +114,7 @@ class JsonCustomFieldToArrayTransformer implements DataTransformerInterface { if(! $traited) { $customFieldsArrayRet[$key] = $value; } + } var_dump($customFieldsArrayRet);