Browse Source

fix #1792

jiangqh 3 years ago
parent
commit
12a1972e45

+ 4 - 0
src/Form/EmbeddedForm.php

@@ -281,6 +281,10 @@ class EmbeddedForm
 
         $this->fields->push($field);
 
+        $field->setRelation([
+            'relation' => $this->column,
+        ]);
+
         $this->callResolvingFieldCallbacks($field);
 
         $field::requireAssets();

+ 1 - 15
src/Form/Field/File.php

@@ -106,7 +106,7 @@ class File extends Field implements UploadFieldInterface
      */
     public function setRelation(array $options = [])
     {
-        $this->options['formData']['_relation'] = [$options['relation'], $options['key']];
+        $this->options['formData']['_relation'] = [$options['relation'], $options['key'] ?? null];
 
         return $this;
     }
@@ -237,18 +237,4 @@ class File extends Field implements UploadFieldInterface
 
         return $this;
     }
-
-    /**
-     * Set key for error message.
-     *
-     * @param  string|array  $key
-     * @return $this
-     */
-    public function setErrorKey($key)
-    {
-        parent::setErrorKey($key);
-        $this->options['formData']['upload_column'] = $key;
-
-        return $this;
-    }
 }

+ 4 - 0
src/Http/Controllers/HandleFormController.php

@@ -3,6 +3,7 @@
 namespace Dcat\Admin\Http\Controllers;
 
 use Dcat\Admin\Exception\AdminException;
+use Dcat\Admin\Form\Field\Embeds;
 use Dcat\Admin\Form\Field\File;
 use Dcat\Admin\Form\Field\HasMany;
 use Dcat\Admin\Http\JsonResponse;
@@ -66,6 +67,9 @@ class HandleFormController
         if ($relationField instanceof HasMany) {
             return $relationField->buildNestedForm()->field($column);
         }
+        if ($relationField instanceof Embeds) {
+            return $relationField->field($column);
+        }
     }
 
     public function destroyFile(Request $request)