Невозможно получить массив из регистра формы Laravel 5.3

#php #laravel #laravel-5 #laravel-5.3

#php #laravel #laravel-5 #laravel-5.3

Вопрос:

Я использую Laravel 5.3 auth: сделать регистрационную форму, у меня есть множественный выбор в моей форме, который возвращает количество выбранных строк вместо массива со значениями.

Вот что возвращается, когда я dd ($data):

  array:10 [▼
      "_token" => "mBTBYC4yHsI0Ph1Hmj7p6MSstOCRM3cDkCoSZH4b"
      "first_name" => "User"
      "last_name" => "Family"
      "class" => "Software Engineer"
      "year" => "0"
      "tags" => "1" -> that should be an array.
      "phone" => "55555555"
      "email" => "test@test.com"
      "password" => "123123"
      "password_confirmation" => "123123"
    ]
  

То, что я хотел бы исправить, выглядит так в html:

 <div class="form-group{{ $errors->has('tags') ? ' has-error' : '' }}">
    {!! Form::select('tags[]', $tags , null , ['class' => 'form-control' , 'multiple' , 'id'=>'tags' , 'name' => 'tags']) !!}
    @if ($errors->has('tags'))
        <span class="help-block">
            <strong>{{ $errors->first('tags') }}</strong>
        </span>
    @endif
</div>
  

Ответ №1:

я думаю, проблема в том, что вы не даете им («tags[]») ключ для сохранения нескольких данных в массив. это то, что я обрабатываю массив тегов с {!! Form::checkbox('tag_id[]',$tag->id, null, ['class'=>'tag_id']) !!} помощью флажка, устанавливающего второй аргумент, я загружаю значение в Id внутри массива tag_id[].