Bonjour à tous,
Je cherche à réduire le nombre de requête sur une page et malheureusement je suis arrivé sur une impasse et je n’ai pas vraiment de bonne idée pour la contourner
Voici la situation :
Une requête récupère toutes les entités que je vais appeler dans le cadre de l’exemple Contenant qui possède une relation OneToOne avec une entité abstraite ContenuMere. Cette entité possède plusieurs type d’entité fille ContenuFille1 et ContenuFille2. Chaque fille possède différentes relation avec d’autres entités. Appelons les Info1, Info2,etc. L’héritage entre ContenuMere et ContenuFille est une jointure comme spécifiée ici : https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/inheritance-mapping.html#class-table-inheritance
Voici un schéma simple :
Ce que j’aimerais faire c’est récupérer tous les Contenants et récupérer toutes les entités jusqu’au Infos associées à travers l’entité ContenuMere sans, si possible, faire une requête monstrueuse et immaintenable qui hydrate ensuite mes objets PHP
Le soucis ici c’est que les jointures vers Infos n’existent pas sur ContenuMere donc Doctrine ne peut pas suivre les jointures. J’ai essayé d’expliciter la jointure ContenuMere-ContenuFille mais malheureusement ça empêche l’hydratation d’entité car je me retrouve avec un tableau me retournant ContenuMere et ContenuFille côte à côte
Après avoir cherché plusieurs heures je ne vois pas trop quoi faire à part abandonner l’idée d’optimiser cette page. Si vous avez des idées ou des pistes je suis partant
Merci d’avance pour votre aide