Bonjour Je pense que c'est parce que doSelectJoinAll fait des 'join' et non pas des 'left join'. Ce qui explique que tu ne recuperes pas les enregistrements pour lesquels la clef etrangère est null. (Tu dois pouvoir t'en rendre compte en regardant la requete sql dans le panneau de debug).
Pour résoudre ce problème : tu peux faire un myDoSelectJoinAll avec deux requêtes dont tu fusionnerais les résultats (attention, il sera peut-être necessaire de les retrier). -- requete 1 : join normal quand clef étrangère <> null -- requete 2 : recuperation normal quand clef étrangère == null Sinon tu peux faire un doSelectJoinAllExceptx où x est la clef etrangère qui pose problème. En parlant d'optimisation de manière plus générale, il existe d'autres pistes : -- Bidouiller hydrate et doSelect pour ne pas recuperer les champs gourmands en taille (longtext, blob, ...) qui augmentent énormément le volume de données extrait de la base. -- Eviter les insertions répétées de components et de partials (là je suis moins sûr de moi, à priori, c'est pas mal optimisé) -- Eviter les outils qui parsent le code html du côté client pour ajouter des comportements javascript (surtout quand les clients ont des petites configs) Quoiqu'il en soit, je regarde toujours en profondeur le panneau de debug avant d'optimiser, les gaspillages de temps se trouvent souvent à des endrois peu évidents. 'Librement' Nicolas Guillaume badin a écrit : > Bonjour a tous voila je dévellope une application avec l'admin > generator dans le cadre de mon stage > Cette apli sert au suivi des commandes. > j'ai une base principale avec bcp de clef etrangere. > mon appli est sympa mais elle rame énormément (8 s) pour charger 278 > commande. > j'ai utilisé toute les optimizations possible et je vient de découvrir > qu'on pouvait faire un doSelectJoinAll > Je doit pas très bien comprendre comment ca marche le doSelectJoinAll > mais cela m'affiche que les quelques ligne qui on la chance d'avoir > une cle etrangere a l'ID = 1 > je sais pas si je me suis fait comprendre. > j'ai deux table > > Suivi et TrigrammeDevellopeur > cela m'affiche que les suivi avec l'id = 1 dans le champ > TrigrammeDev_id > je souligne le fait que ca marche tres bien avec un doselect normal Le > probleme apparait que lorsque j'ai DoSelectJoinAll > > SVP aider moi je dois rendre le projet mercredi et j'ai convaincu mon > patron de se lancer dans symfony si je lui rend un truc qui rame a mon > avis ils voudront plus jamais toucher a ce frammework. --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" de Google Groupes. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse symfony-fr@googlegroups.com Pour résilier votre abonnement à ce groupe, envoyez un e-mail à l'adresse [EMAIL PROTECTED] Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/symfony-fr?hl=fr -~----------~----~----~----~------~----~------~--~---