#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[].