Sfoglia il codice sorgente

Handle infinitely (?)- nested arrays properly in setObject

shalvah 4 anni fa
parent
commit
20ef47ff85
1 ha cambiato i file con 4 aggiunte e 3 eliminazioni
  1. 4 3
      src/Extracting/Generator.php

+ 4 - 3
src/Extracting/Generator.php

@@ -308,9 +308,10 @@ class Generator
         // eg test.items[] would actually be described as name: test.items, type: object[]
         // So we get rid of that ending []
         // For other fields (eg test.items[].name), it remains as-is
-        $baseNameInOriginalParams = Str::endsWith($baseName, '[]')
-            ? substr($baseName, 0, -2)
-            : $baseName;
+        $baseNameInOriginalParams = $baseName;
+        while (Str::endsWith($baseNameInOriginalParams, '[]')) {
+            $baseNameInOriginalParams = substr($baseNameInOriginalParams, 0, -2);
+        }
 
         if (Arr::has($source, $baseNameInOriginalParams)) {
             $parentData = Arr::get($source, $baseNameInOriginalParams);