Я пытаюсь выдвинуть несколько вариантов выбора из раскрывающегося списка специальностей, отображаемых в моем $specialties
переменная в @foreach
в приложении Laravel. Я могу захватить 1 идентификатор и отправить его в базу данных, но несколько вариантов не работают. Это только выдвигает один идентификатор в базу данных. Когда я пытаюсь использовать name = «specialties []», как показано ниже, я получаю сообщение об ошибке: преобразование массива в строку. Как мне вставить свой выбор в массив, используя eloquent?
Моя форма Просмотр:
<div class="container">
{{ csrf_field() }}
<strong>Select Specialty:</strong>
<select id="multiple-checkboxes2" multiple="multiple" name="specialties[]" value="specialties">
@if($specialties)
@foreach($specialties as $specialty)
<option value=" {{$specialty->id}} ">{{$specialty->name}}</option>
@endforeach
@endif
</div>
</select>
{!! Form::close() !!}
<script type="text/javascript">
$(document).ready(function() {
$('#multiple-checkboxes2').multiselect();
});
Контроллер клиентского магазина
public function store(Request $request)
{
//
Client::create([
'specialties' => $request->specialties,
] );
return redirect('/accounts');
}
Контроллер дисплея клиента
public function display($id)
{
$specialties=Specialty::select( 'name', 'id')->orderBy('name', 'asc')->get('id');
return view('accounts/display', compact('accounts', 'specialties', )->withAccount($accounts);
}
}
попробуйте использовать массив
<select id="multiple-checkboxes2" multiple="multiple" name="specialties[]">
@if($specialties)
@foreach($specialties as $specialty)
<option value= "{{ $specialty->id }}">{{$specialty->name}}</option>
@endforeach
@endif
</select>
Других решений пока нет …