【发布时间】: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 我按照你说的做了一个数组,现在它可以工作了:)