Que tal, en esta entrada les mostraré un tip cuando se busca recuperar los valores de un componente select múltiple usando Laravel.
Si seleccionamos varias opciones de un select múltiple y quisiéramos recuperar los datos con $request->input ocurrirá que siempre recibiremos el ultimo valor que se haya seleccionado, me refiero a que si seleccionamos 3 valores recibiremos solo el dato de la tercera opción, veamos como resolver esto.
En la vista deben declarar el componente, y asegurarse que en la propiedad name incluyan los corchetes [], esto le indicará a Laravel que puede esperar un arreglo de valores.
<select multiple class="form-control" name="roles[]" id="roles">
<option value="1">Administrador</option>
<option value="2">Usuario</option>
</select>
El resultado seria algo asi:
Después, en el controlador vamos a recibir el contenido del select múltiple.
if ($request->input('roles')!=null)
{
$vroles = implode(',', $request->input('roles'));
}
Y listo, ya tenemos una variable con los valores seleccionados. La cadena resultante seria algo como esto: 1,2
Gracias!! Me fue de mucha ayuda