jqh 5 years ago
parent
commit
812ebd9a3f

+ 1 - 0
resources/views/form/listfield.blade.php

@@ -67,6 +67,7 @@
             <div class="form-group">
             <div class="form-group">
                 <div class="col-sm-12">
                 <div class="col-sm-12">
                     <input name="{{ $name }}[values][{key}]" class="form-control" />
                     <input name="{{ $name }}[values][{key}]" class="form-control" />
+                    <error></error>
                 </div>
                 </div>
             </div>
             </div>
         </td>
         </td>

+ 2 - 0
src/Form.php

@@ -71,6 +71,7 @@ use Dcat\Admin\Form\Concerns;
  * @method Field\Image          image($column, $label = '')
  * @method Field\Image          image($column, $label = '')
  * @method Field\MultipleFile   multipleFile($column, $label = '')
  * @method Field\MultipleFile   multipleFile($column, $label = '')
  * @method Field\MultipleImage  multipleImage($column, $label = '')
  * @method Field\MultipleImage  multipleImage($column, $label = '')
+ * @method Field\HasMany        hasMany($column, \Closure $callback)
  * @method Field\Tree           tree($column, $label = '')
  * @method Field\Tree           tree($column, $label = '')
  * @method Field\Table          table($column, $callback)
  * @method Field\Table          table($column, $callback)
  * @method Field\ListField      list($column, $label = '')
  * @method Field\ListField      list($column, $label = '')
@@ -143,6 +144,7 @@ class Form implements Renderable
         'image'          => Field\Image::class,
         'image'          => Field\Image::class,
         'multipleFile'   => Field\MultipleFile::class,
         'multipleFile'   => Field\MultipleFile::class,
         'multipleImage'  => Field\MultipleImage::class,
         'multipleImage'  => Field\MultipleImage::class,
+        'hasMany'        => Field\HasMany::class,
         'tree'           => Field\Tree::class,
         'tree'           => Field\Tree::class,
         'table'          => Field\Table::class,
         'table'          => Field\Table::class,
         'list'           => Field\ListField::class,
         'list'           => Field\ListField::class,

+ 3 - 1
src/Form/Field/HasMany.php

@@ -283,7 +283,9 @@ class HasMany extends Field
     {
     {
         $form = $this->buildNestedForm($this->column, $this->builder);
         $form = $this->buildNestedForm($this->column, $this->builder);
 
 
-        return $form->setOriginal($this->original, $this->getKeyName())->prepare($input);
+        return array_values(
+            $form->setOriginal($this->original, $this->getKeyName())->prepare($input)
+        );
     }
     }
 
 
     /**
     /**

+ 4 - 0
src/Form/NestedForm.php

@@ -156,6 +156,10 @@ class NestedForm
         }
         }
 
 
         foreach ($data as $value) {
         foreach ($data as $value) {
+            if (! isset($value[$relatedKeyName])) {
+                continue;
+            }
+
             /*
             /*
              * like $this->original[30] = [ id = 30, .....]
              * like $this->original[30] = [ id = 30, .....]
              */
              */

+ 1 - 1
src/Grid/Filter/AbstractFilter.php

@@ -364,7 +364,7 @@ abstract class AbstractFilter
      */
      */
     public function month()
     public function month()
     {
     {
-        return $this->datetime(['format' => 'MM']);
+        return $this->datetime(['format' => 'YYYY-MM']);
     }
     }
 
 
     /**
     /**

+ 1 - 0
src/Widgets/Form.php

@@ -56,6 +56,7 @@ use Illuminate\Support\Str;
  * @method Field\Image          image($column, $label = '')
  * @method Field\Image          image($column, $label = '')
  * @method Field\MultipleFile   multipleFile($column, $label = '')
  * @method Field\MultipleFile   multipleFile($column, $label = '')
  * @method Field\MultipleImage  multipleImage($column, $label = '')
  * @method Field\MultipleImage  multipleImage($column, $label = '')
+ * @method Field\HasMany        hasMany($column, \Closure $callback)
  * @method Field\Tree           tree($column, $label = '')
  * @method Field\Tree           tree($column, $label = '')
  * @method Field\Table          table($column, $callback)
  * @method Field\Table          table($column, $callback)
  * @method Field\ListField      list($column, $label = '')
  * @method Field\ListField      list($column, $label = '')