以Laravel形式创建对象数组

时间:2019-06-11 16:29:21

标签: php laravel

我想使用Laravel从表单创建对象数组(或二维数组)

blade.php看起来像

@foreach($objets as $objet)
<tr>
    <td>
        <input type="text" name="objets[]" id="field_A" value="{{$objet->field_A}}">
    </td>
    <td>
        <input type="text" name="objets[]" id="field_B" value="{{$objet->field_B}}">
    </td>
</tr>
@endforeach

当前,在验证表单时,变量$ objets是具有所有值的数组,而不是具有数组的数组。

1 个答案:

答案 0 :(得分:1)

如下更新您的输入名称:

<td>
  <input type="text" name="objets[][fieldA]" id="field_A" value="{{$objet->field_B}}">
</td>
<td>
  <input type="text" name="objets[][fieldB]" id="field_B" value="{{$objet->field_B}}">
</td>

上面将输出带有数组的数组

"objects" => array:1 [▼
                0 => array:7 [▼
                   'fieldA' => 'value'
                   'fieldB' => 'value'
                ]
             ]

然后在验证中可以像这样使用它:

$validate['objects.*.field_A'] = 'required';
$validate['objects.*.field_B'] = 'required';
return $validate;