Laravel Lazy Collections: procesar 500k rows sin explotar memoria.
Encontré el límite de Eloquent migrando datasets grandes. User::all() cargaba todo en memoria y PHP reventaba. La solución fue cursor() + LazyCollection para procesar en streaming — la memoria se mantuvo constante sin importar el volumen.
// ❌ explota con 500k rows
$users = User::all();
foreach ($users as $user) {
$this->processUser($user);
}
// ✓ streaming con cursor() — memoria constante
User::query()->cursor()->each(function (User $user) {
$this->processUser($user);
});