[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Albert Reis da Cruz
Criador Albert Reis da Cruz 08/11/2021

Pessoas, boa noite.

gostaria de substitui a diretiva abaixo pois não uso laravelcollective, quem puder ajudar...

{!! Form::select('roles[]', $roles,$userRole, array('class' => 'form-control', 'multiple')) !!}

ela faz o seguinte: carrega um select caso exista um valor preexistente, no caso de usar um formulario pra editar 

Grato

Manager Carlos Ferreira 08/11/2021

Olá, Albert!
Tudo bem?

Segue como fazer amigo:
<select name="roles[]" multiple class="form-control">
    @foreach($roles as $role)
        <option
            @if(isset($userRole) && $userRole == $role->id) selected @endif
            value="{{ $role->id }}">
                {{ $role->name }}
            </option>
    @endforeach
</select>

Carlos Ferreira
Criador Albert Reis da Cruz 08/11/2021

Carlos, obrigado pelo feedback, esqueci um detalhe importante: $userRole é um array. No entanto não consigo pegar a posição dele devido

ser deste tipo: array(1) { ["Admin"]=> string(5) "Admin" }, ou  array(1) { ["User"]=> string(4) "User" }. 

Albert Reis da Cruz
Manager Carlos Ferreira 08/11/2021

Entendi amigo.

Como é um array, você pode usar a função in_array para verificar se $role->id (ou $role->name) está no array $userRole

Carlos Ferreira
Criador Albert Reis da Cruz 08/11/2021

Resolvido!!!!

<option value="{{ $role }}" @if(isset($userRole) && $role == in_array($role, $userRole)) selected @endif>

Mais uma vez, obrigado!!!

 

Albert Reis da Cruz
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!