【问题标题】:Select option with selected values returning duplicates选择带有返回重复项的选定值的选项
【发布时间】:2019-04-26 05:31:26
【问题描述】:

我正在尝试获取一个旧的选定值并将其显示在一个选择选项中,以及一个未选定的值,但是,当我尝试比较时,它没有工作,到目前为止我只能得到重复.最好的实现方式是什么?

这就是我的代码的样子。

控制器:

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>
...

【问题讨论】:

  • 您的 option 属性似乎使用了不正确的属性(或者您必须使用某些库,是吗?)。您可以找到所有可能的属性here。此外,防止选项中出现重复值也是明智之举。也许事先创建选项数组是个好主意。你能展示一下你的select 的一部分吗?
  • 我只在我的控制器中使用 get(),我会尝试按照你说的创建一个数组。我正在使用引导选择。
  • 谢谢@ThomasVanderVeen 我按照你说的做了一个数组,现在它可以工作了:)

标签: laravel laravel-5


【解决方案1】:

解决方案

@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

【讨论】:

    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2023-04-06
    相关资源
    最近更新 更多