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

DDD
Freigeben: 2024-11-21 06:06:09
Original
525 Leute haben es durchsucht

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();
Nach dem Login kopieren

Dies erzeugt die Ausgabe:

[{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}]
Nach dem Login kopieren

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
Nach dem Login kopieren

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage