Récupération des champs de second niveau pour une relation many to many

Bonjour à tous,

J’ai passé quelques heures à tenter de récupérer des champs de second niveau pour une relation many to many dans le JSON de retour de mon webservice. Je poste ici la solution si jamais quelqu’un avait besoin d’aide la dessus :slight_smile:

Pour avoir tous les éléments de premier niveau et de second niveau, il faut positionner le paramètre :

?fields=*.*

Mais dans le cas d’une relation many to many, ca donne ça :

"picking_period": [
                {
                    "id": 13,
                    "fungus_id": 6,
                    "picking_period_id": 9
                }
            ]

En gros, on récupère les id de la table intermédiaire et non les champs fonctionnels.

Dans mon cas, il faut chainer encore un argument pour récupérer le champs position :

?fields=picking_period.picking_period_id.position
"picking_period": [
                {
                    "picking_period_id": {
                        "position": 9
                    }
                }
            ]

Si jamais, ca peut aider quelqu’un !

2 « J'aime »

Merci pour l’info @Tazooou, ça devrait aider pas mal de monde :+1:
Par contre, j’en ai parlé dans les vidéos, mais là c’est encore plus important pour une profondeur de 3 niveaux : c’est requêtes imbriquées peuvent être extrêmement couteuses, il faut être certain que c’est la meilleure solution.
Par exemple ça peut être ok si tu récupère un seul objet, mais à éviter sur une liste à mon avis.