选择选项,返回重复项

问题描述 投票:0回答:1

我试图得到一个旧的选定值,并在选择选项中显示它,以及一个非选定的值,但是,当我尝试比较然后它看起来没有工作,到目前为止,我只能得到重复。实施它的最佳方法是什么?

这就是我的代码的样子。

控制器:

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

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

}

角色视图:

@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>
...
laravel laravel-5
1个回答
0
投票

@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
© www.soinside.com 2019 - 2024. All rights reserved.