Verwenden Sie Eloquent oder Query Builder, um mehrere Datenzeilen effizient einzufügen
Wenn Sie eine unbekannte Anzahl mehrerer Datenzeilen aus einer einzelnen Abfrage einfügen müssen, können Sie den Eloquent ORM oder Query Builder von Laravel verwenden, um Masseneinfügungsvorgänge durchzuführen, wodurch der Prozess vereinfacht und die Effizienz verbessert wird.
Mit der von Ihnen bereitgestellten $query können die Daten in ein assoziatives Array extrahiert werden:
<code>$data = $query->toArray();</code>
Jetzt haben Sie ein Array mit mehreren Datenzeilen in einem Format, das für Masseneinfügungen geeignet ist.
Eloquente Methoden
Um Masseneinfügungen mit Eloquent durchzuführen, verwenden Sie die folgende Syntax:
<code>UserSubject::insert($data); // 调用 Eloquent mutator,包括时间戳</code>
Diese Methode akzeptiert ein Array assoziativer Arrays als Parameter und führt für jede Zeile einen Einfügevorgang durch.
Query Builder-Methode
Wenn Sie alternativ den Query Builder-Ansatz bevorzugen, können Sie die folgende Syntax verwenden:
<code>DB::table('target_table')->insert($data); // 不调用 mutator</code>
Die Query Builder-Methode fügt Daten direkt in die angegebene Tabelle ein, ohne den Eloquent-Mutator aufzurufen.
Mit einer der oben genannten Methoden können Sie aus einer einzigen Abfrage effizient mehrere Zeilen in eine neue Tabelle einfügen und so sicherstellen, dass Sie die gewünschte Datenstruktur erhalten.
Das obige ist der detaillierte Inhalt vonWie kann ich mit dem Eloquent oder Query Builder von Laravel effizient mehrere Zeilen in eine Datenbank einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!