Nå, du kan få det sidste id fra tabellen .. Så efter indsættelsen føje det sidste id til antallet af dit array .. Men du vil stå over for et problem, og det er, hvis du har 2 eller flere brugere indsat nogle poster i denne tabel på samme tid .. så du kan bruge Transaktionen
try{
DB::beginTransaction();
// 1- get the last id of your table ($lastIdBeforeInsertion)
// 2- insert your data
Model::insert($array);
// 3- Getting the last inserted ids
$insertedIds = [];
for($i=1; $i<=theCountOfTheArray; $i++)
array_push($insertedIds, $lastIdBeforeInsertion+$i);
});
DB::commit();
}catch(\Exception $e){
DB::rollback();
}
eller
DB::transaction(function() {
// 1- get the last id of your table ($lastIdBeforeInsertion)
// 2- insert your data
Model::insert($array);
// 3- Getting the last inserted ids
$insertedIds = [];
for($i=1; $i<=theCountOfTheArray; $i++)
array_push($insertedIds, $lastIdBeforeInsertion+$i);
});
Dokumentation af databasetransaktioner
Meget nyttig artikel om databasetransaktioner
Rediger
Du kan lave en unik kolonne og kalde den for eksempel unique_bulk_id
.. Dette vil holde tilfældigt genereret streng for de indsatte data .. efter indsættelsen kan du få de indsatte data ved hjælp af dette unique_bulk_id
.