Ich habe eine Cron-Aufgabe in meinem Laravel 4-Projekt, die Daten von einer API abruft und diese mit Hilfe der Datenbank speichert Eloquent
. Ich brauche es, um dies für jeden Benutzer zu tun, der in meiner Benutzertabelle gespeichert ist. Ich dachte mir, ich könnte über jeden Benutzer iterieren, die Daten abrufen und $this->save()
es in meinem Modell. Nur der letzte Datensatz wird hinzugefügt.
Ich habe einen einfachen Test gemacht:
$this->user_id = 23;
$this->save();
$this->user_id = 43;
$this->save();
und noch wird nur der letzte Eintrag hinzugefügt. Klar, ich benutze Eloquent nicht richtig oder etwas. Sollte ich Eloquent nicht benutzen?
Antworten:
2 für die Antwort № 1Sie aktualisieren nur Ihr Modell ($ this) bei jedem Durchlauf der Schleife, sodass nur der letzte Wert angezeigt wird.
Sie sollten stattdessen jeweils einen Datensatz erstellen:
Model::create([
"user_id" => 23
]);
Wo Modell ist Ihr Eloquent-Modell.