Laravel {{Form :: Select}} не передает значения параметрам запроса POST - PullRequest
0 голосов
/ 20 февраля 2019

эта проблема недавно произошла на веб-сайте моего сервера разработки, на котором работает Laravel 5.2.45.У меня есть форма, которую я использую для передачи данных через запрос POST на контроллере.На форме есть 2 мультиселекта, один для доступных местоположений и один для выбранных местоположений.Пользователь может передать местоположение из доступных мест в выбранные места.Проблема заключается в том, что после отправки формы выбранные местоположения нигде не отображаются в параметрах запроса, но отображаются доступные местоположения.Это работало в течение долгого времени и внезапно перестало работать.

Мультиселект доступных мест

<div class="form-group clearfix{{ $errors->has('available') ? ' has-error' : '' }}">
{!! Form::label('available', 'Available Locations', ['class'=> 'col-xs-12 pl-0 pr-0']) !!}
<div class="col-xs-12 pl-0 pr-0">
    {{Form::select('available[]', $taskgroup['available'], null, ['id'=> 'multiselect', 'class'=> 'form-control', 'size'=> 8, 'multiple' => 'multiple']) }}
</div>
@if ($errors->has('available'))
<span class="help-block">{{ $errors->first('available') }}</span>
@endif

Мультиселект выбранных местоположений

<div class="form-group clearfix{{ $errors->has('locations') ? ' has-error' : '' }}">
{!! Form::label('locations', 'Selected Locations', ['class'=> 'col-xs-12 pl-0 pr-0']) !!}
<div class="col-xs-12 pl-0 pr-0">
    {{Form::select('locations[]', $taskgroup['locations'], null, ['id'=> 'multiselect_to', 'class'=> 'form-control', 'size'=> 8, 'multiple' => 'multiple']) }}
</div>
@if ($errors->has('locations'))
<span class="help-block">{{ $errors->first('locations') }}</span>
@endif

Часть, которая обрабатывает запрос в контроллере

$taskgroup = Taskgroup::with('locations')->findOrFail($id);
    $input = Input::all();
    //dd($request,$input);
    unset($input['available']);
    if(!empty(array_values($input['media_url'])[0]['title'])){
        $media_url = Taskgroup::sortArray($input['media_url'], 'order');
        $input['media_url'] = json_encode(array('media' => $media_url));
    } else {
        unset($input['media_url']);
    }
    $messages = ['between' => 'The :attribute must be between :min - :max.'];
    $validation = Validator::make($input, array_merge(Taskgroup::$rules, array('locations'=>'required|between:1,'.$input['max_users'])), $messages);

Некомментированный дамп входных данных

"_method" => "PUT"
"_token" => "Token Here"
"name" => "Beer"
"short_description" => "Short Description<br>"
"_wysihtml5_mode" => "1"
"long_description" => "<div>Long Description</div>"
"pin_color" => "red"
"start_date" => "2018-12-03 09:00"
"end_date" => "2019-12-31 20:00"
"media_url" => array:1
"file_names" => array:1
"delete-file-85" => "0"
"delete-file-86" => "0"
"max_users" => "32"
"max_arrival_time" => "120"
"max_completion_time" => "30"
"client_id" => "22"
"q" => ""
"available" => array:977
"files" => array:1

Это мой первый пост на сайте, поэтому прошу прощениялюбые ошибки форматирования.Заранее спасибо.

1 Ответ

0 голосов
/ 20 февраля 2019

Попробуйте использовать

{!!Form::select(....)!!}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...