@sizo0 Merci pour tes conseils, j'essaye ça ce soir (je suis au taf là ^^).
Salut à tous,
Je rencontre un petit souci avec mon eager loading (Laravel 5.2) :
J'ai un scope qui me permet de récupérer mes derniers articles :
Mon model Post est relié au model Category via une relation de type belongsTo (jusque là tout va bien).
Le eager loading est bien pris en compte, j'ai deux queries, une pour les posts l'autre pour les catégories.
Seulement voilà, juste après j'ai systématiquement la query ci-dessous, qui est exécuté autant de fois que je récupère d'articles (ici 3) :
Ma question est simple : Pourquoi ??
9 réponses
@sizo0 Il s'agit d'une relation belongsTo.
Mais comme je l'ai précisé, l'eager loading est bien appliqué. Il y a juste des queries 'parasites' en plus et je n'arrive pas à déterminer d'où elles peuvent venir.
salut, je sais pas si c'est ca mais attention; le with est case sensitive
Je ne pense pas que le eager loading est appliqué parce que la query 'Select ... from categories ...' est répétée plusieurs fois.
Applique le changement que je t'ai dit dans le message précédent et dans la méthode category qui détermine la relation, précise bien le namespace de la classe Category.
ou
@AlexJM c'est-à-dire ? La méthode with() tu veux dire ? Je ne pense pas que ce soit ça puisqu'il le eager loading est bien appliqué :/
Peut-être que @AlxJM a raison. Essaye
Et montre nous également le code qui détermine la relation entre Post et Category.
Ce que je voulais dire, c'est que si tu as une relation genre :
Si tu fais pour l'eager loading :
et après pour avoir la catégorie tu fais
Tu as fait le eager loading de Category et non de category donc il va relancer la requête ;)
@AlexJM Merci beaucoup, ta solution était la bonne :)
Merci également à @sizo0 pour tes conseils :)
Pas de problème ;)