/ / Laravel 4 Eloquent-Datenbank in foreach-Schleife speichern - PHP, Laravel, Laravel-4, eloquent

Laravel 4 Eloquent Datenbank speichern in foreach-Schleife - PHP, Laravel, Laravel-4, eloquent

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 № 1

Sie 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.