A veces, necesitará procesar miles y miles de registros. Usted sabe que esas operaciones son muy pesadas para su RAM, pero Eloquent tiene un método útil para fragmentar los resultados de la consulta en bloques para optimizar su carga.
Apphouse::chunk(200, function($bloque) { foreach ($bloques as $bloque) { // Operaciones pesadas por bloques aquí... } });
El primer parámetro define el tamaño del bloque que desea utilizar. En este caso, vamos a cargar 200 resultados, procesarlos, descargarlos, y repetir lo mismo con los próximos 200.
El segundo parámetro es un cierre que define qué hacer con ese fragmento: el parámetro bloque de cierre es la colección devuelta de los registros.