Я пытаюсь получить старое выбранное значение и показать его внутри опции выбора, а также невыбранное значение, однако, когда я пытаюсь сравнить, то оно не работает, так что пока я могу получить только дубликаты , Как лучше всего это реализовать?
Вот так выглядит мой код.
Контроллер:
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>
...