Heim > Artikel > Backend-Entwicklung > Wie füge ich mit Eloquent oder Query Builder mehrere Zeilen in Laravel ein?
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:
$data = [ ['user_id' => 8, 'subject_id' => 9], ['user_id' => 8, 'subject_id' => 2] ]; Model::insert($data); // calls mutators including timestamps
$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!