Bonjour,
ça fait un moment que je cherche mais sans succès...

J'ai besoin de récupérer un tableau JSON sous cette forme :

[{
    'id': 1,
    'name': 'TEST',
    'photos': [{
                'id': 1,
                'name': 'vrvrtv.er',
                'src_full': 'full/1.jpeg',
                'src_prev': 'preview/1.jpeg'},
                {'id': 2,
                'name': 'fgzvrtzg.regr',
                'src_full': 'full/2.jpeg',
                'src_prev': 'preview/2.jpeg'}
                ]
}]

mais à la place, je récupère :

[{
    "id":1,
    "name":"TEST",
    "photos":{"0":{
                "id":1,
                "name":"vrvrtv.er",
                 "src_full": "full/1.jpeg",
                "src_prev": "preview/1.jpeg"},
              "1":{
                "id":2,
                "name":"fgzvrtzg.regr",
                 "src_full": "full/2.jpeg",
                "src_prev": "preview/2.jpeg"}
             }
}]

Je ne comprend pas pourquoi il me reformate mon tableau dans le champ "photos".

Si quelqu'un pouvait m'aider...

7 réponses


Azorgh
Réponse acceptée

Et question bête, si tu le récupère avec ou sans clé (0,1), sa devrait rien changer non ?

Salut,

Tu as essayé de faire un json_decode() puis un dd() de ton array voir ce qu'il retourne ?

json_decode() c'est pour faire l'inverse ?
mas json_encode() me donne le même résultat.

le problème c'est que je veux un tableau dans "photos" et non un objet.

Mais le JSON que tu nous donnes, c'est toi qui le construit ? Ne préfère tu pas utiliser un objet ?

ba je pense que je vais utiliser un objet et modifier mon élément.
Pour expliquer, un ami a construit un élément polymer qui prend en paramètre un tableau JSON, et je n'arrive pas à avoir le même format que lui pour utilisé son élément.
merci à vous d'avoir répondu.

si tu as fait une liaison avec le Model Photos, essaye

Model->toArray();

Je ne savais pas que ce que je voulais, était identique à ce que j'obtenais..
En fait, j'ai régler mon problème grâce à la fonction array_values()
merci à tous d'avoir répondu à mon post