32 🔍 BUSCADOR de Productos | Lógica de Filtro y Queries Dinámicas en Laravel 12 E-commerce
Duración: 17 min
Módulo: 🛒 Tienda Online (Frontend Shop) y Funcionalidades 25-33
Lección 8 de
9
Descripción
Lección 32: 🔍 Buscador de Productos | Lógica de Filtro y Queries Dinámicas
Este capítulo se dedica a implementar una funcionalidad esencial para cualquier e-commerce: el buscador de productos en la parte pública del sitio, utilizando queries dinámicas y optimizadas en Laravel.
⚙️ Configuración del Formulario y Rutas
Se dota de funcionalidad al campo de búsqueda existente en la cabecera de la tienda:
- Método del Formulario: El formulario de búsqueda se configura utilizando el método GET [01:22].
- Ruta de Búsqueda: Se define una nueva ruta GET, /buscar, en web.php, la cual es gestionada por la función buscarProducto dentro del WebController [01:54].
- Persistencia del Término: Se implementa un mecanismo para que el texto de la búsqueda se mantenga visible en el campo de input después de realizar la consulta, mejorando la experiencia del usuario [11:14].
🧠 Lógica de Búsqueda Dinámica
Se desarrolla una consulta SQL flexible para obtener resultados relevantes en la Base de Datos:
- Criterios Múltiples: La búsqueda utiliza la cláusula LIKE para encontrar coincidencias de texto. Inicialmente se busca por el nombre del producto [06:19].
- Ampliación del Filtro: Se utiliza el operador orWhere para buscar coincidencias también en la descripción corta del producto [07:28], aumentando las posibilidades de encontrar un resultado.
- Ordenación: Los resultados son ordenados alfabéticamente (orderBy) en base al nombre del producto para ofrecer una lista coherente [08:12].
📊 Presentación Optimizada de Resultados
Se gestiona la visualización de los resultados en una vista dedicada, solucionando un problema clave de paginación:
- Vista Dedicada: Se crea la vista buscar.blade.php donde se copia la estructura de la lista de productos para mostrar las coincidencias [09:56].
- Mensaje de Coincidencias: Se añade lógica condicional (@if) para notificar al usuario cuando no se encontraron productos que coincidan con su búsqueda [13:41].
- Solución de Paginación ⚙️: Para evitar que la consulta se pierda al cambiar de página (lo que mostraba todos los productos en lugar de solo los resultados de la búsqueda), se utiliza la función ->appends(request()->except('page')) [15:22]. Esta función asegura que el término de búsqueda se mantenga en los enlaces de paginación.
Lecciones
🚀 Configuración Inicial y Sistema de Administración 1-6
🛡️ Roles, Permisos y Gestión de Usuarios (Spatie) 7-16
Lección 4. 10 ⚙️ CRUD Completo de Roles | Spatie Roles & Permisos | Ecommerce Laravel 12 FullStack
25 min
Lección 6. 12 🔐 Ajustes en el Login y Seeder de Usuarios | Sistema Ecommerce Laravel 12 FullStack
40 min
Lección 8. 14 🔍 Buscador y Detalle de Usuarios (Acción Show) | Ecommerce Laravel 12 FullStack
32 min
📦 Módulos Esenciales (Categorías y Productos) 17-24
🛒 Tienda Online (Frontend Shop) y Funcionalidades 25-33
Lección 4. 28 🛒 Vista Show Dinámica del Producto | Descripción y Datos Relacionados | Laravel 12
15 min
💳 Carrito, Checkout y Pasarela de Pagos 34-42
Lección 4. 37 💳 PASARELA DE PAGOS PayPal | Integración y Lógica de Checkout en Laravel 12 E-commerce
27 min
Lección 5. 38 ✅ PAGO COMPLETADO y REGISTRO de Pedido | Lógica Final de Venta con PayPal y Laravel 12
11 min
⚙️ Gestión de Órdenes, Perfiles y Características Avanzadas 43-61
Lección 5. 47 🔗 BUSCADOR AVANZADO: Filtrando Tablas Relacionadas con WHERE HAS y Joins en Laravel 12
10 min
📊 Análisis de Datos, Despliegue y Conclusión 62-68
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️