Выберите опцию с выбранными значениями, возвращающими дубликаты - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь получить старое выбранное значение и показать его внутри опции выбора, а также невыбранное значение, однако, когда я пытаюсь сравнить, то оно не работает, так что пока я могу получить только дубликаты , Как лучше всего это реализовать?

Вот так выглядит мой код.

Контроллер:

public function index()
{
    $roles = Role::get();
    $permissions = Permission::get();

    return view('role.index', compact(['roles','permissions']));

}

Role View:

@foreach($role->permission as $permissioninrole)
    <option name="permissions[]" {{ old('name', $permissioninrole->name) == $permissioninrole->name ? 'selected' : '' }} value="{{$permissioninrole->id}}">{{$permissioninrole->name}}</option>
@endforeach

@isset($permissioninrole)
    @foreach($permissions as $permission)
        @if($permissioninrole->name != $permission->name)
            <option class="rem" name="permissions[]" value="{{$permission->id}}">{{$permission->name}}</option>
        @endif
    @endforeach
@endisset

@empty($permissioninrole)
    @foreach($permissions as $permission)
        <option name="permissions[]" value="{{$permission->id}}">{{$permission->name}}</option>
    @endforeach
@endempty

Как это выглядит. HTML

<option name="permissions[]" selected value="15">role-create</option>
<option name="permissions[]" selected value="16">role-read</option>
<option name="permissions[]" value="15">role-create</option>
<option name="permissions[]" value="16">role-read</option>
...

Как и должно быть, если роль 'x' имеет разрешение на создание роли.

<option name="permissions[]" selected value="15">role-create</option>
<option name="permissions[]" value="16">role-read</option>
...

1 Ответ

0 голосов
/ 26 апреля 2019

Решение

@foreach($permissions as $key => $value)
    <option name="permissions[]" {{ in_array($key +1, $role->permission()->pluck('id')->toArray()) ? 'selected' : '' }} value="{{$value->id}}">{{ $value->name }}</option>
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...