Heim >Datenbank >MySQL-Tutorial >Wie füge ich mehrere Zeilen mit Eloquent oder Query Builder in Laravel in großen Mengen ein?

Wie füge ich mehrere Zeilen mit Eloquent oder Query Builder in Laravel in großen Mengen ein?

Susan Sarandon
Susan SarandonOriginal
2025-01-12 20:11:45363Durchsuche

How to Bulk Insert Multiple Rows with Eloquent or Query Builder in Laravel?

Verwendung von Eloquent/Fluent zum stapelweisen Einfügen mehrerer Datenzeilen aus einer einzigen Abfrage

Frage:

Sie haben eine Abfrage, die ein Array von Benutzer-IDs und Konto-IDs zurückgibt. Wie kann ich diese Zeilen in eine andere Tabelle einfügen und dabei sicherstellen, dass die resultierende Tabelle das folgende Format hat:

<code>ID | user_id | subject_id
1 | 8 | 9
2 | 8 | 2</code>

Antwort:

Laravel bietet zwei Methoden zum Batch-Einfügen von Daten in Tabellen: mit Eloquent oder Query Builder.

Eloquente Methode:

<code class="language-php">$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2],
];

UserSubject::insert($data);</code>

Query Builder-Methode:

<code class="language-php">DB::table('table')->insert($data);</code>

Beide Methoden akzeptieren ein assoziatives Array, wobei jedes Array eine einzufügende Zeile darstellt. Mutatoren (z. B. Zeitstempel) werden bei der Verwendung von Eloquent-Methoden aufgerufen, nicht jedoch bei der Verwendung von Query Builder-Methoden.

Das obige ist der detaillierte Inhalt vonWie füge ich mehrere Zeilen mit Eloquent oder Query Builder in Laravel in großen Mengen ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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