Bonjour à vous,

Je travaille actuellement sur la réalisation d'une API.
j'arrive à récupèrer une liste d'entreprise en format json et à l'afficher mais maintenant je voudrais pouvoir
l'enregistrer en base de données, j'effectue la syntaxe suivante mais je ne récupère rien..

{
     public function show(Request $request)
     {
             $reception = \Guzzle::get('http://localhost/webservice/public/entreprise');
             $reponses = json_decode($reception-> getBody ()-> getContents ());

            foreach($reponses as $reponse)
            {

           $reponse = new Entreprise(); 
           $reponse->siret=$request->get('siret');
           $reponse->noment=$request->get('noment');
           $reponse->villeent=$request->get('villeent');
           $reponse->cpent=$request->get('cpent');
           $reponse->telent=$request->get('telent');
           $reponse->adresseent=$request->get('adresseent');
           $reponse->mailent=$request->get('mailent');
           $reponse->description=$request->get('description');
           $reponse->commentaire=$request->get('commentaire');
           $reponse->recupouenv=$request->get('recupouenv');
           $reponse->conventions_id=$request->get('conventions_id');
           $reponse->save();
         }

}

Je me demandais donc comment récupèrer les différentes données de mon json afin de les sauvegarder en base de données..
J'arrive pourtant bien à les afficher en faisant la meme boucle sauf que je fais echo $reponse->siret."<br>"; etc..
Sinon Guzzle est un plug-in qui me permet d'interroger mon json et de récupèrer tous au niveau de ma variable $reponses..
C'est au niveau du foreach que je ne récupère rien et cela m'empèche de faire l'insertion en base de donnée.

4 réponses


Là tu écrases $réponse à chaque itération
remplace $reponse par $entreprise dans la boucle

foreach($reponses as $reponse)
            {

           $entreprise= new Entreprise(); 
           $entreprise->siret=$reponse['siret'];
           $entreprise->noment=$reponse['noment'];
           ...

Merci beaucoup pour ta réponse, je comprend bcp mieux maitenant.
Au niveau de l'affichage voila ce que ca me renvoit :

FatalErrorException in EntrepriseController.php line 70:
Cannot use object of type stdClass as array

La ligne 70 est celle-ci :

 $entreprise->siret=$reponse['siret'];

Ah ca marche enfin !
Merci beaucoup pour votre aide en tous cas,
à bientôt.

Oui désolé,
json_decode peut renvoyer un objet (stdClass) ou un tableau associatif
il suffisait de mettre json_decode ( $json, true)

             $reponses = json_decode($reception->getBody ()->getContents (), true);