Heim > Datenbank > MySQL-Tutorial > Wie führt man mit Laravel Eloquent und Query Builder effizient Masseneinfügungen durch?

Wie führt man mit Laravel Eloquent und Query Builder effizient Masseneinfügungen durch?

Linda Hamilton
Freigeben: 2025-01-12 20:17:42
Original
761 Leute haben es durchsucht

How to Efficiently Perform Bulk Inserts with Laravel Eloquent and Query Builder?

Verwenden Sie Laravel Eloquent/Fluent, um mehrere Datenzeilen stapelweise einzufügen

In diesem Beispiel müssen Abfrageergebnisdaten in eine andere Tabelle eingefügt und die Ergebnisse in ein bestimmtes Format konvertiert werden. Die größte Herausforderung besteht darin, mögliche Änderungen in der Anzahl der Zeilen in den Ergebnissen zu bewältigen.

Verwenden Sie die Batch-Einfügefunktion von Laravel

Glücklicherweise bieten Laravel’s Eloquent und Query Builder praktische Masseneinfügungsmethoden. Mit diesen Methoden können Sie die gewünschten Ergebnisse erzielen:

  1. Eloquente Methode:

    <code class="language-php"> $insertData = collect($query->get())->map(function ($row) {
         return [
             'user_id'   => $row->user_id,
             'subject_id' => $row->subject_id,
         ];
     });
    
     Model::insert($insertData->toArray());</code>
    Nach dem Login kopieren
  2. Abfrageerstellungsmethode:

    <code class="language-php"> $insertData = collect($query->get())->map(function ($row) {
         return [
             'user_id'   => $row->user_id,
             'subject_id' => $row->subject_id,
         ];
     });
    
     DB::table('new_table')->insert($insertData->toArray());</code>
    Nach dem Login kopieren

In beiden Fällen enthält die Variable $insertData die konvertierten Daten im erforderlichen Format. Die insert-Methode verarbeitet Masseneinfügungsvorgänge in die angegebene Tabelle. Beachten Sie, dass Sie insert mit der Methode $insertData in ein Array konvertieren müssen, um sicherzustellen, dass die Methode ->toArray() die Daten korrekt verarbeitet.

Das obige ist der detaillierte Inhalt vonWie führt man mit Laravel Eloquent und Query Builder effizient Masseneinfügungen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage