Bem, você pode obter o último id da tabela .. Então após a inserção adicione o último id à contagem do seu array .. Mas você enfrentará um problema e isso é se você tiver 2 ou mais usuários inseridos alguns registros nesta tabela ao mesmo tempo .. para que você possa usar a transação
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();
}
ou
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);
});
Documentação de transações de banco de dados
Artigo muito útil sobre transações de banco de dados
Editar
Você pode criar uma coluna exclusiva e chamá-la por exemplo
unique_bulk_id
.. Isto irá conter uma string gerada aleatoriamente para os dados inseridos .. após a inserção você pode obter os dados inseridos por Este unique_bulk_id
.