laravel-performance/app/Tasks/Mass/MassUpdate/Group1/MassUpdate1Task.php

39 lines
1008 B
PHP

<?php
namespace App\Tasks\Mass\MassUpdate\Group1;
use App\Models\Transaction;
use Carbon\Carbon;
class MassUpdate1Task
{
/**
* Atualiza o campo data e valor, uma transação por vez.
* Atualizando de forma unitária com where('id', 1), where('id', 2).
*
* 1_000 .......... 1s DONE
* 10_000 .......... 14s DONE
* 100_000 ....... 2m 36s DONE
* 1_000_000 ...... 26m 10s DONE
*/
public function handle()
{
Transaction::query()
->select([
'id',
])
->where('id', '>', 0)
->chunkById(1000, function ($transactions) {
foreach ($transactions as $transaction) {
Transaction::query()
->where('id', '=', $transaction->id)
->update([
'date' => Carbon::now(),
'value' => 1,
]);
}
});
}
}