Я использую Laravel 5.3, Entrust для разрешений, LaravelCollective для функций формы и Chosen для управления полями выбора.Получение атрибутов модели для заполнения множественного выбора
я обязан моей формы модели и моя форма заполнения правильно, но я изо всех сил, чтобы заполнить мульти выбора со значениями, связанными с этой ролью (модели)
Я Усиливая Доверьте встроенный в отношениях. Я хочу, чтобы разрешения, связанные с ролью, отображались как выбранные значения в мультивыборке.
Так что что-то вроде $ role-> permissions-> name, но это, похоже, не работает. Значение null в параметрах формы является значением по умолчанию, но я не могу заставить его отображать все, что я хочу.
Вот моя форма:
{!! Form::model($role, ['method' => 'PATCH', 'route' => ['settings.access.update_role', $role->id]]) !!}
<div class="form-group">
{!! Form::label('Name') !!}
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-plus-circle" aria-hidden="true"></i></div>
{!! Form::date('name', $role->name, ['class' => 'form-control']) !!}
</div>
</div>
<div class="form-group">
{!! Form::label('Display Name') !!}
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-plus-circle" aria-hidden="true"></i></div>
{!! Form::date('display_name', $role->display_name, ['class' => 'form-control']) !!}
</div>
</div>
<div class="form-group">
{!! Form::label('Description') !!}
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-plus-circle" aria-hidden="true"></i></div>
{!! Form::date('description', $role->description, ['class' => 'form-control']) !!}
</div>
</div>
<div class="form-group">
{!! Form::label('Permissions') !!}
<script type="text/javascript">
$(document).ready(function() {
$(".permissions").chosen({width: "100%"})
});
</script>
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-user-plus" aria-hidden="true"></i></div>
{!! Form::select('permissions[]', $permissions, null, ['multiple' => 'multiple', 'class' => ' form-control permissions']) !!}
</div>
</div>
<div class="form-group">
<br/>
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-success" type="submit" name="add_user">Update</button>
</span>
</div>
</div>
{!! Form::close() !!}
Вот часть моей формы в вопросе:
<div class="form-group">
{!! Form::label('Permissions') !!}
<script type="text/javascript">
$(document).ready(function() {
$(".permissions").chosen({width: "100%"})
});
</script>
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-user-plus" aria-hidden="true"></i></div>
{!! Form::select('permissions[]', $permissions, null, ['multiple' => 'multiple', 'class' => ' form-control permissions']) !!}
</div>
</div>
Вот моя функция контроллера, который посылает данные в форму:
public function edit_role($id)
{
$permissions = Permission::pluck('name', 'id');
$role = Role::where('id', $id)->first();
return view('settings.access.edit', compact('role', 'permissions'));
}