Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich mit Eloquent oder Query Builder mehrere Zeilen in Laravel ein?

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

Linda Hamilton
Linda HamiltonOriginal
2024-11-22 17:26:15277Durchsuche

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

Einfügen mehrerer Zeilen mit Fluent

In Laravel können Sie Eloquent oder den Abfrage-Builder verwenden, um mit einer einzigen Abfrage problemlos mehrere Datenzeilen in eine Datenbanktabelle einzufügen.

Betrachten Sie die folgende Abfrage:

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

Diese Abfrage ruft ein Array von ab Ergebnisse, wie zum Beispiel:

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

Um diese Ergebnisse in eine andere Tabelle einzufügen, können Sie die folgenden Techniken verwenden:

Eloquent Approach

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

Model::insert($data); // calls mutators including timestamps

Query Builder Approach

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

DB::table('table')->insert($data); // does not call mutators

Beide Ansätze ermöglichen es Ihnen, mehrere Zeilen mit einer einzigen Abfrage einzufügen. Der Eloquent-Ansatz ruft Modellmutatoren und Zeitstempel auf, der Query Builder-Ansatz hingegen nicht.

Das obige ist der detaillierte Inhalt vonWie füge ich mit Eloquent oder Query Builder mehrere Zeilen in Laravel 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