Multi-Select не передает все значения из ввода - PullRequest
0 голосов
/ 22 октября 2018

Я создал форму с несколькими входами, которые работают нормально, за исключением следующего:

{!! 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"]

Я что-то здесь упускаю?Все значения «options» выбраны, поэтому я не могу понять, почему это только последнее, которое передается в контроллер.

1 Ответ

0 голосов
/ 22 октября 2018

Обновление имени входного файла для включения синтаксиса массива позволит приложению знать, что он передает весь массив, а не только какой последний выбранный параметр был.

<select id="options" name="options[]" class="form-control" multiple>
    ...
</select >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...