chunk(100, function ($balances) use ($bc) { foreach ($balances as $balance) { if (!$bc->checkAndCharge($balance)) { if (now()->diffInDays($balance->created_at) > 1) { $balance->delete(); } } } }); Balance::where('paid_at', null)->where('created_at', '<', now()->subDays(2))->delete(); } }