我创建了一个包含多个输入的表单,除了以下内容外,其他所有输入的行为都很好:
{!! Form::open(['route' => ['changes.store'], 'class' => "was-validated"]) !!}
<div class="form-group">
<div class="row">
<div class="col-md-6 pt-3 bg-light">
<label for="options">Options:</label>
<select id="options" name="options" class="form-control" multiple>
@foreach ($options as $option)
<option value="{{ $option->id }}" selected>{{ $option->name }}</option>
@endforeach
</select >
</div>
</div>
</div>
<div class="row">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="submit" class="btn btn-success" type="button">
</div>
{!! Form::close() !!}
选项只是从我的模型发送到视图的值的集合
$options = Option::all();
如果检查的话,表格看起来是正确的,但是当我检查时
dd($request->all);
我得到的最后一个值是字符串,例如"options" => "4"
,而不是我期望的某种数组。例如"options" => ["1", "2", "3", "4"]
我在这里错过了什么吗?所有“选项”值均已选中,因此我看不到为什么它只是传递给控制器的最后一个。
答案 0 :(得分:1)
更新输入名称以包括数组语法将使应用程序知道传递整个数组,而不仅仅是上一个选择的选项。
<select id="options" name="options[]" class="form-control" multiple>
...
</select >