/ / Laravel 4 Base de données Eloquent sauvegardée dans une boucle foreach - php, laravel, laravel-4, éloquent

Laravel 4 Eloquent base de données enregistrer en boucle foreach - php, laravel, laravel-4, éloquent

J'ai une tâche cron dans mon projet Laravel 4 qui récupère les données d'une API et les stocke dans la base de données à l'aide de Eloquent. J'ai besoin de le faire pour chaque utilisateur stocké dans ma table d'utilisateurs. Je me suis dit que je pouvais parcourir chaque utilisateur, obtenir les données et $this->save() cela dans mon modèle. Seul le dernier enregistrement est ajouté.

J'ai fait un test simple:

$this->user_id = 23;
$this->save();
$this->user_id = 43;
$this->save();

et seule la dernière entrée est ajoutée. Clairement, je n’utilise pas correctement Eloquent ou quelque chose du même genre. Ne devrais-je pas utiliser Eloquent?

Réponses:

2 pour la réponse № 1

Vous ne faites que mettre à jour votre modèle ($ this) à chaque exécution de la boucle, de sorte que seule la dernière valeur sera affichée.

Vous devriez plutôt créer un enregistrement chaque fois:

Model::create([
"user_id" => 23
]);

Où modèle est votre modèle éloquent.