Я пытаюсь получить старое значение из моей формы в форме редактирования, но кажется невозможным найти ответ, потому что все в мире решили использовать Form :: select из библиотеки laravelcollective / html. Я пытаюсь использовать обычный HTML для работы, и он не может извлечь старое значение из формы.
Это мой HTML-код.
<div class="col-xs-12 form-group">
<label class="control-label">Role*</label>
<select name="roles[]" data-placeholder="Choose a Role for this User..." class="chosen-select" multiple tabindex="4">
<option value="">Select</option>
@foreach ($roles as $key => $value)
<option value="{{ $key }}" {{ in_array($key, old("roles")) ? "selected":"") }} >{{ $value }}</option>
@endforeach
</select>
</div>
Это код моего контроллера.
public function edit($id)
{
$roles = Role::get()->pluck('name', 'id');
$user = User::findOrFail($id);
return view('admin.users.edit', compact('user', 'roles'));
}
Я пытаюсь преобразовать следующее в обычный HTML
<div class="row">
<div class="col-xs-12 form-group">
{!! Form::label('role', trans('global.users.fields.role').'*', ['class' => 'control-label']) !!}
{!! Form::select('role[]', $roles, old('role') ? old('role') : $user->role->pluck('id')->toArray(), ['class' => 'form-control select2', 'multiple' => 'multiple', 'required' => '']) !!}
<p class="help-block"></p>
@if($errors->has('role'))
<p class="help-block">
{{ $errors->first('role') }}
</p>
@endif
</div>
</div>