Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Masseneinfügung und Rückgabe von IDs Laravel

Nun, Sie können die letzte ID aus der Tabelle abrufen. Dann fügen Sie nach dem Einfügen die letzte ID zum Zähler Ihres Arrays hinzu zur gleichen Zeit .. damit Sie The Transaction

verwenden können
 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();
}

oder

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);

});

Datenbanktransaktionsdokumentation

Sehr nützlicher Artikel über Datenbanktransaktionen

Bearbeiten

Sie können eine eindeutige Spalte erstellen und sie zum Beispiel unique_bulk_id nennen .. Dies enthält eine zufällig generierte Zeichenfolge für die eingefügten Daten. Nach dem Einfügen können Sie die eingefügten Daten durch diese unique_bulk_id abrufen .