Ich verwende Angular2 für mein Frontend und Laravel für mein Backend. Ich versuche, ein Array zu analysieren und alles in verschiedenen Zeilen zu speichern, aber derzeit wird nur der letzte empfangene Datensatz in der Datenbank gespeichert.Nur der letzte empfangene Datensatz wird in der Datenbank gespeichert
public function SaveOrder(Request $request) {
$input = $request->all();
$order = new Order;
foreach ($input as $arr) {
foreach ($arr as $key => $value) {
if (array_key_exists($key, $arr) && !empty($value)) {
$order->$key = $value;
}
}
}
$order->save();
}
$input = $request->all();
foreach ($input as $arr) {
var_dump($arr);
foreach ($arr as $key => $value) {
if (array_key_exists($key, $arr) && !empty($value)) {
}
}
}
Var_dump des Arrays
Ja ineffizient scheint, es ineffizient ist. Ihr Bulk-Insert sollte * außerhalb * der 2 Loops liegen. In den Schleifen sollten Sie nur das Einfügedatenarray erstellen und nicht die Datenbankabfrage durchführen. – lesssugar
@lesssugar Wenn ich es außerhalb der ersten foreach verschiebe, habe ich das gleiche Problem wie vorher, wo es nur den letzten Datensatz speichert – ghan