Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führe ich Masseneinfügungen in Laravel mit Eloquent oder Query Builder durch?

Wie führe ich Masseneinfügungen in Laravel mit Eloquent oder Query Builder durch?

DDD
DDDOriginal
2024-11-21 06:06:09525Durchsuche

How to Perform Bulk Inserts in Laravel Using Eloquent or Query Builder?

Masseneinfügungen mit Eloquent oder Fluent in Laravel durchführen

In Laravel ist die Masseneinfügung von Daten ein Kinderspiel, und Sie können entweder das Eloquent ORM oder den Fluent Query Builder verwenden um dies zu erreichen.

Betrachten Sie die folgende Abfrage:

$query = UserSubject::where('user_id', Auth::id())
                    ->select('subject_id')
                    ->get();

Dies erzeugt die Ausgabe:

[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]

Ihr Ziel ist es, diese Daten in eine separate Tabelle zu übertragen. Dies führt zu einer Struktur wie:

ID | user_id | subject_id
1   | 8       | 9
2   | 8       | 2

Um diese Masseneinfügung durchzuführen, können Sie einen der unten beschriebenen Ansätze verwenden:

Eloquenter Ansatz:

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

UserSubject::insert($data);

Diese Methode nutzt Mutatoren und Zeitstempel.

Query Builder-Ansatz:

$data = [
    ['user_id' => 8, 'subject_id' => 9],
    ['user_id' => 8, 'subject_id' => 2]
];

DB::table('user_subject')->insert($data);

Diese Methode ist zwar direkter, ruft jedoch keine Mutatoren auf .

Das obige ist der detaillierte Inhalt vonWie führe ich Masseneinfügungen in Laravel mit Eloquent oder Query Builder durch?. 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