sql >> Databáze >  >> RDS >> Mysql

Hromadně vložte a získejte vrácené ID laravel

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 .



  1. PHP CRUD Vytvářejte, upravujte, aktualizujte a mažte příspěvky pomocí databáze MySQL

  2. Doctrine2 ORM vyberte pro aktualizaci

  3. Mysql Vyberte několik náhodných řádků a jeden konkrétní řádek

  4. Propojte mySQL s Androidem