Volver a la página principal
martes 22 octubre 2024
11

Cómo enviar múltiples valores en un parámetro query en Laravel

En Laravel, puedes enviar múltiples valores a través de un único parámetro en una query string utilizando arrays o separadores. Esta funcionalidad es útil cuando necesitas filtrar datos basados en varios criterios.

Usando arrays en query strings

Laravel permite pasar múltiples valores en un parámetro usando el formato de array en la query string. Esto es posible agregando corchetes [] al nombre del parámetro en la URL.

Ejemplo

Supongamos que deseas filtrar productos por varias categorías. La URL sería algo como esto:

https://ejemplo.com/productos?categorias[]=1&categorias[]=2&categorias[]=3

En tu controlador, puedes obtener estos valores como un array de la siguiente manera:

$categorias = $request->query('categorias'); // Devuelve [1, 2, 3]

Luego, puedes usar este array para aplicar filtros a tu consulta:

$productos = Producto::whereIn('categoria_id', $categorias)->get();

Usando separadores

Otra forma de pasar múltiples valores es utilizando un separador como una coma para concatenar los valores dentro de un solo parámetro.

Ejemplo

https://ejemplo.com/productos?categorias=1,2,3

En el controlador, puedes dividir el string para convertirlo en un array:

$categorias = explode(',', $request->query('categorias')); // Devuelve [1, 2, 3]

Y luego aplicar el filtro en la consulta:

$productos = Producto::whereIn('categoria_id', $categorias)->get();

Conclusión

Laravel ofrece flexibilidad para enviar múltiples valores a través de un parámetro en la query string, ya sea mediante el uso de arrays o separadores como comas. La elección depende de tus preferencias o necesidades específicas.

Para más detalles, puedes consultar la documentación oficial de Laravel.

Etiquetas:
php laravel
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer