Contenido del curso
Diseña la base de datos de tu proyecto con Laravel y Eloquent
- 3

Diseña un banco de proyectos y su base de datos
01:28 min - 4

Crea un proyecto Laravel y configura una base de datos MySQL
03:31 min - 5

Generar el modelo para la tabla de proyectos
01:47 min - 6

Diferencias entre Modelo y Migración
01:58 min - 7

Convenciones para los modelos
02:17 min - 8

Atributos por defecto en un modelo
01:18 min
Realiza consultas de datos con Eloquent
Construye un CRUD en Laravel con Eloquent
Consultas avanzadas con Eloquent
Conclusiones
En la clase anterior aprendimos a usar el modelo Project para traer datos de la tabla projects de una manera bastante simple, ahora imagina que esta tabla creció en registros y ahora se tarda mucho tiempo trayendo, por ejemplo, 900 registros, el rendimiento de la aplicación baja, se puede morir el servidor y ya no logramos tener todos los datos.
Para evitar este problema tenemos un comando que nos va a traer los registros por secciones, este es chunk, al cual le pediremos un bloque menor de registros y fragmentará la cantidad de valores hasta tenerlos todos.
Esto lo logramos implementando un Closure que procesará los datos en los bloques que van llegando.
Project::chunk(200, function ($projects) { foreach ($projects as $project) { //Aquí escribimos lo que haremos con los datos (operar, modificar, etc) } });
Esto lo podemos leer de la siguiente manera:
Traer del modelo Project (que traduce a la tabla projects) bloques de 200 registros y guardarlos temporalmente en la variable $projects como un array, luego recorre este array con los 200 registros y por cada uno ejecuta lo que está dentro del foreach, repite esta acción hasta que lleguen todos los registros de Project.
En la siguiente imagen puedes ver cómo tenemos un gran lote de datos y van cayendo microlotes más pequeños que se procesan y finalmente llegan a su destino final, todo este proceso se ejecuta de manera cíclica hasta que se procesan todos los datos.
De esta manera, estamos salvando el rendimiento y la memoria de nuestra aplicación cuando necesitemos operar con grandes cantidades de información desde la base de datos.
Chunk: fragmentando múltiples registros



