Hello,
je détail le problème que je rencontre.
Table 1 : places
Table 2 : pictures
La table "pictures" est reliée à la table "places" par une clé étrangère "place_id"
Je souhaite ressortir la liste des "places" AVEC pour chaque place, ses pictures associées.
Ce que je fais
1 - Je sélectionne des éléments d'une table principale "places"
SELECT id, name, FROM places
WHERE places.city='Paris'
2- Je récupère les résultat dans une variable $places, et Je fais une nouvelle requête pour chaque résultats de la précédente
foreach ($places as $place) {
$place->pictures = "
SELECT pictures.id, pictures.name,
FROM pictures
where pictures.place_id _id in (" . $place->id . ")
";
}
Le résultat de la requête est OK
MAIS PROBLEME : cette façon de faire produit autant de requêtes que de résultats de la première.
Exemple : si $places contient 15 résultats, alors le foreach exécutera 15 requêtes pour ressortir les images de chaque $place.
Le résultat en JSON
[
{
"id": 2,
"name": "Stade Dr Pierre",
"pictures": [
{
"id": 2,
"name": "pic2"
}
]
},
{
"id": 51,
"name": "Stade de France",
"pictures": [
{
"id": 7,
"name": "pic7",
},
{
"id": 8,
"name": "pic8",
}
]
}
]
Ce que je veux
Faire la même chose en conservant ma 1ere requête intactacte,
mais en optimisant ma deuxème étape pour n'avoir qu' 1 seule requête au lieu de 15 requêtes.
Merci de vos lumières éclairantes :)