Creación de Categorías Dinámicas con Laravel
Clase 6 de 26 • Curso de Interfaces Dinámicas con Laravel Livewire
Contenido del curso
Configuración base
- 3

Configuración Inicial de Proyectos Laravel con Visual Studio Code
04:59 min - 4

Configuración y Personalización de Plantillas con Tailwind CSS
10:27 min - 5

Creación de Componentes Livewire para Listado de Preguntas
11:11 min - 6

Creación de Categorías Dinámicas con Laravel
Viendo ahora - 7

Configuración de Preguntas en Laravel: Migraciones y Factory
05:38 min - 8

Diseño de Interfaz para Visualización de Preguntas en Navegador
07:57 min - 9

Configuración y Uso de Comandos Fresh y Refresh en Laravel
06:27 min
Preguntas
Pregunta
Respuesta
- 15

Desarrollo de componente LiveWire para respuestas en Laravel
08:49 min - 16

Creación de Componentes para Estructuras Anidadas en Formularios
05:27 min - 17

Creación de Formularios Livewire para Respuestas Anidadas
14:37 min - 18

Editar Respuestas con Livewire en PHP: Configuración y Pruebas
09:09 min - 19

Creación de Políticas de Seguridad en Laravel para Edición de Respuestas
07:05 min
Flujo de trabajo tradicional
- 20

Formulario de Edición de Preguntas en Laravel
11:06 min - 21

Habilitación de Campos en Formularios Web
06:18 min - 22

Actualizar Preguntas desde Formularios en Tablas de Datos
05:07 min - 23

Creación y Edición de Preguntas en Plataforma Web
04:59 min - 24

Configuración de Políticas de Autorización en Laravel
03:53 min
Conclusiones
¿Cómo trabajar con una tabla de categorías en Laravel?
En el desarrollo web, a menudo necesitamos manejar texto dinámico, que debe extraerse de una base de datos en lugar de ser estático. Vamos a explorar cómo crear una tabla de categorías utilizando Laravel, un popular framework de PHP. Esto incluye crear un modelo, migración, y factory, así como configurar semillas de datos para facilitar pruebas y desarrollos futuros.
¿Cómo crear una entidad y su migración?
Para gestionar nuestras categorías, lo primero que necesitamos es crear un modelo utilizando el comando Artisan de Laravel. Este comando también genera automáticamente el archivo para la migración y el factory:
php artisan make:model Category -mf
- Modelo: Sirve como una representación de la tabla en nuestra aplicación.
- Migración: Es un archivo que define el esquema de la base de datos, permitiéndonos añadir campos como
ID,name, ycolor. - Factory: Ayuda a generar datos de prueba al permitir la creación de datos falsos.
El archivo de la migración se configurará para incluir un nombre y un color para cada categoría. Por ejemplo, como tal vez querramos tener un campo hexadesimal de color en nuestra tabla:
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('color');
$table->timestamps();
});
¿Cómo configurar el factory y semillas de datos?
El factory es esencial para llenar nuestra base de datos con datos de prueba. Nos permite generar datos falsos para el nombre y color de nuestra categoría:
$factory->define(Category::class, function (Faker $faker) {
return [
'name' => $faker->word,
'color' => $faker->hexcolor,
];
});
Al configurar semillas, podemos decidir cuántas categorías generar. En este caso, queremos crear 10 categorías:
$seeder->call([CategorySeeder::class]);
// En el Seeder
Category::factory()->count(10)->create();
La semilla se ejecuta con el siguiente comando, lo que asegura que nuestra base de datos se reinicie y los datos de prueba se creen:
php artisan migrate:fresh --seed
¿Cómo hacer dinámico el contenido en la vista?
Con nuestras categorías en la base de datos, necesitamos hacer que nuestra vista las muestre de manera dinámica. Importamos la entidad de categoría y hacemos la consulta en el componente de Laravel Livewire o controlador, de la misma manera que regulamos tradicionalmente:
$categories = Category::all();
Ahora, pasamos estas categorías a nuestra vista para que se impriman:
@foreach ($categories as $category)
<div style="color: {{ $category->color }}">
{{ ucfirst($category->name) }}
</div>
@endforeach
Y así, el texto estático se reemplaza con contenido dinámico que refleja los datos más recientes de nuestra base de datos.
Este método no solo es efectivo para mantener una aplicación liviana, sino que también asegura que cualquier actualización en las categorías se refleje instantáneamente en la interfaz de usuario. Al seguir estos pasos, construimos una plataforma robusta y flexible, lista para escalar o cambiar sobre la marcha.