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.
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);