laravel-performance/app/Tasks/Mass/MassUpsert/MassUpsert1Task.php

36 lines
740 B
PHP

<?php
namespace App\Tasks\Mass\MassUpsert;
use App\Models\Transaction;
use Illuminate\Support\Facades\DB;
class MassUpsert1Task
{
/**
* insert unit
*
* 100 .......... DONE
* 1_000 .......... DONE
* 10_000 .......... DONE
* 100_000 .......... DONE
* 1_000_000 .......... DONE
*
*/
public function handle(int $count): void
{
$i = 0;
$transactions = Transaction::factory($count)->make(function () use (&$i) {
return [
'id' => ++$i,
];
});
DB::enableQueryLog();
Transaction::query()->upsert($transactions->toArray(), ['id'], ['id', 'date', 'value']);
DB::getQueryLog();
}
}