17 🛍️ MÓDULO CATEGORÍAS: Modelo, Migración y Listado | Laravel 12 Ecommerce CRUD FullStack

Duración: 20 min
Módulo: 📦 Módulos Esenciales (Categorías y Productos) 17-24 Lección 1 de 8

Descripción

Lección 17: 🛍️ Inicio del Módulo Categorías (Modelo, Migración y Listado)

Este capítulo marca el inicio del desarrollo de un módulo clave para el e-commerce: Categorías. Se sigue una metodología FullStack para crear todos los componentes necesarios desde cero.

🛠️ Estructura Completa del Módulo

A diferencia de módulos anteriores (Roles y Usuarios), Categorías se crea completamente a partir de un único comando, acelerando el proceso de desarrollo:

  • ⚡ Generación Rápida: Se utiliza el comando PHP Artisan Make:model Categoría -mcrf [03:20] para generar automáticamente:
    • Modelo (Categoría).
    • Migración (con la tabla de categorías).
    • Controlador (CategoríaController) con recursos completos (-cr).
    • Factory (-f) para la siembra de datos falsos.

🏗️ Diseño de la Base de Datos y SEO

Se define la estructura de la tabla de categorías, introduciendo un campo clave para la optimización en motores de búsqueda (SEO):

  • 📝 Campos Esenciales: La tabla incluye un string para el Nombre de la categoría y un campo text para la Descripción [05:27], el cual es opcional (nullable).
  • 🔗 Campo SLUG (SEO): Se introduce el campo SLUG [05:52] como campo único. Este campo almacena una versión del nombre de la categoría convertida en una URL amigable (ej: "Ropa para Varones" se convierte en "ropa-para-varones"), fundamental para el SEO del e-commerce.
  • ✅ Migración: Se ejecuta la migración (PHP Artisan migrate) [07:35] para crear la nueva tabla en la base de datos.

🏭 Siembra de Datos con Factory

Se utiliza la herramienta Factory para poblar rápidamente el sistema con datos de prueba:

  • 🔧 Creación de Datos Falsos: Se configura el Factory para generar 15 categorías aleatorias [10:38]. La lógica asegura que el SLUG se genere correctamente a partir del nombre falso de la categoría.
  • 💾 Ejecución: Mediante el comando PHP Artisan Migrate:fresh --seed [10:48], se siembran las 15 categorías, permitiendo probar inmediatamente el listado.

📑 Implementación del Listado (Index)

Se desarrolla la vista principal del módulo, reutilizando la estructura del módulo de Usuarios:

  • 🗺️ Rutas y Menú: Se definen las rutas como un recurso de admin/categorias [11:43] y se añade el enlace al menú lateral [12:46] con un icono de tags.
  • 🔎 Buscador y Paginación: El listado incluye un buscador que filtra por Nombre y Descripción [16:05], y una paginación que muestra las categorías de 10 en 10 [14:19].
  • 📝 Campos Mostrados: La tabla final de categorías presenta el Nombre, el SLUG y la Descripción [16:39], junto a las acciones de gestión (editar, eliminar, ver).