MVC : multiples objets multiples requêtes ou monoobjet mono requête
Bonjour,
en développant un site en objet, je suis confronté à l'interrogation suivante : Un membre de mon site est lié à des catégories (1 ou n) et ces catégories sont liées à des mots clés (1 ou n).
- une classe Motcle
- une classe Categorie qui a notamment cet attribut : Motcle[]
- une classe Personne qui a notamment cet attribut : Categorie[]
Un jeu de données pourrait être :
- personne1 - categorie1 - motclé1
- personne1 - categorie1 - motclé2
- personne1 - categorie1 - motclé3
- personne1 - categorie2 - motclé1
- personne1 - categorie2 - motclé2
- personne1 - categorie2 - motclé3
- personne2 - categorie1 - motclé1
Ainsi dans lorsque je recherche une liste de personnes, je fais une requête SQL qui me remonte les personnes et j'instancie des objets Personne. Le truc c'est que pour créer des objets Categorie et Motcle, je me sens obligé de refaire 2 requêtes SQL (avec comme restriction, la liste des membres trouvés). Au total 3 requêtes ! En terme d'optimisation, c'est pas forcément le top, non ?
L'autre solution à laquelle j'ai pensé est de faire une requête globale qui remonte les personnes, les catégories liés aux personnes et les mots clés des catégories et ensuite de passer au constructeurs de mes classes les colonnes adéquates. Je ne trouve pas cette solution très propre car une même personne est présente sur plusieurs lignes de résultats...
Avez vous été confrontés au même problème ? quelle solution avez vous mis en oeuvre ?
Merci de vos conseils !