Cóż, możesz pobrać ostatni identyfikator z tabeli .. Następnie po wstawieniu dodaj ostatni identyfikator do liczby swojej tablicy .. Ale napotkasz problem i to jest, jeśli masz 2 lub więcej użytkowników wstawiło kilka rekordów do tej tabeli w tym samym czasie .. dzięki czemu możesz korzystać z Transakcji
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();
}
lub
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);
});
Dokumentacja transakcji w bazie danych
Bardzo przydatny artykuł o transakcjach w bazach danych
Edytuj
Możesz stworzyć unikalną kolumnę i wywołać ją na przykład unique_bulk_id
.. To będzie przechowywać losowo wygenerowany ciąg dla wstawionych danych .. po wstawieniu możesz uzyskać wstawione dane przez Ten unique_bulk_id
.