No, můžete získat poslední Id z tabulky .. Potom po vložení přidejte poslední id do počtu vašeho pole .. Ale budete čelit problému a to pokud máte 2 nebo více uživatelů vložili nějaké záznamy do této tabulky ve stejnou dobu .. takže můžete použít Transakci
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();
}
nebo
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);
});
Dokumentace databázových transakcí
Velmi užitečný článek o databázových transakcích
Upravit
Můžete vytvořit jedinečný sloupec a nazvat jej například unique_bulk_id
.. Toto bude obsahovat náhodně vygenerovaný řetězec pro vložená data .. po vložení můžete vložená data získat pomocí tohoto unique_bulk_id
.