浏览代码

Handle infinitely (?)- nested arrays properly in setObject

shalvah 4 年之前
父节点
当前提交
20ef47ff85
共有 1 个文件被更改,包括 4 次插入3 次删除
  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);