Jgoss Posted May 12, 2019 Share Posted May 12, 2019 (edited) Bonjour, Tous les comptes clients de ma boutique s'affichent en double (cf. capture). Pourtant ils sont bien uniques en base. D'ailleurs si je reprends la requête que me donne Prestashop et que j'y ajoute un distinct, le résultat retourné est correct (ce qui n'est pas le cas sans le distinc, donc) : SELECT a.`id_customer`, `firstname`, `lastname`, `email`, a.`active` AS `active`, a.`id_default_group` AS `default_group_name` , a.date_add, gl.name as title, ( SELECT SUM(total_paid_real / conversion_rate) FROM psml_orders o WHERE o.id_customer = a.id_customer AND o.id_shop IN (1) AND o.valid = 1 ) as total_spent, ( SELECT c.date_add FROM psml_guest g LEFT JOIN psml_connections c ON c.id_guest = g.id_guest WHERE g.id_customer = a.id_customer ORDER BY c.date_add DESC LIMIT 1 ) as connect ,grl.name as default_group_name, shop.name as shop_name FROM `psml_customer` a LEFT JOIN psml_gender_lang gl ON (a.id_gender = gl.id_gender AND gl.id_lang = 1)LEFT JOIN psml_group_lang grl ON (a.id_default_group = grl.id_group ) LEFT JOIN `psml_shop` shop ON a.`id_shop` = shop.`id_shop` WHERE 1 AND a.`deleted` = 0 AND a.id_shop IN (1) ORDER BY date_add DESC LIMIT 0, 50 Au départ, ma boutique était paramétrée avec le mode invité, mais je l'ai désactivé ensuite, donc rien à voir je pense. A noter que je n'ai ce problème que sur cette vue Clients. Sur les commandes, les produits, tout fonctionne correctement, pas d'affichage double ... Je n'ai aucun module qui surcharge des classes de l'admin donc ça doit être un problème de configuration, mais je ne vois pas quoi. Je suis sur Presta 1.7.5.1. Une idée ? Merci Edited May 12, 2019 by Jgoss (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted May 12, 2019 Share Posted May 12, 2019 Z'auriez pas joué avec le multi-boutiques desfois ? Link to comment Share on other sites More sharing options...
doekia Posted May 12, 2019 Share Posted May 12, 2019 Vraiment des requêtes SQL pathétiques. Mettons ça en forme: SELECT a.`id_customer`, `firstname`, `lastname`, `email`, a.`active` AS `active`, a.`id_default_group` AS `default_group_name`, a.date_add, gl.name as title, ( SELECT SUM(total_paid_real / conversion_rate) FROM psml_orders o WHERE o.id_customer = a.id_customer AND o.id_shop IN (1) AND o.valid = 1 ) as total_spent, ( SELECT c.date_add FROM psml_guest g LEFT JOIN psml_connections c ON c.id_guest = g.id_guest WHERE g.id_customer = a.id_customer ORDER BY c.date_add DESC LIMIT 1 ) as connect, grl.name as default_group_name, shop.name as shop_name FROM `psml_customer` a LEFT JOIN psml_gender_lang gl ON (a.id_gender = gl.id_gender AND gl.id_lang = 1) LEFT JOIN psml_group_lang grl ON (a.id_default_group = grl.id_group ) LEFT JOIN `psml_shop` shop ON a.`id_shop` = shop.`id_shop` WHERE 1 AND a.`deleted` = 0 AND a.id_shop IN (1) ORDER BY date_add DESC LIMIT 0, 50 Je confirme pathétique. Vous avez plusieurs langues et la requêtes va chercher le nom du groupe dans la langue en omettant de préciser la langue LEFT JOIN psml_group_lang grl ON (a.id_default_group = grl.id_group ) devrait être au moins LEFT JOIN psml_group_lang grl ON (a.id_default_group = grl.id_group and grl.id_lang = 1) je ne m'attarderais pas sur les performances de cette requête ... Link to comment Share on other sites More sharing options...
Jgoss Posted May 13, 2019 Author Share Posted May 13, 2019 (edited) 14 hours ago, Eolia said: Z'auriez pas joué avec le multi-boutiques desfois ? Effectivement, je l'avais activé au départ pour essayer certaines fonctionnalités, mais n'en ai finalement pas eu besoin ... C'est sensé être réversible, mais pas tant que ça si je comprends bien ... Vraiment pas très rassurant, tout ça ... Un idée de comment corriger ça ? Qqchose à supprimer en base ? Edited May 13, 2019 by Jgoss (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 13, 2019 Share Posted May 13, 2019 youpi on ne lit pas ! la requête est bancale ... il faut la corriger dans le code !!!!!!!!!!!! Link to comment Share on other sites More sharing options...
Jgoss Posted May 13, 2019 Author Share Posted May 13, 2019 (edited) Ah si j'ai lu, et je vous remercie pour votre analyse, mais c'est pas une des mes requêtes, mais celle de base de la liste des clients de Prestashop ! Je veux bien la corriger mais je vous avouerais que je ne sais pas trop où elle est construite. Ça me dit moyen de modifier le core ou de faire un override pour qqchose qui , j'espère, peut se corriger par de la conf ou une requête en base. Edited May 13, 2019 by Jgoss (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted May 13, 2019 Share Posted May 13, 2019 Ben non c'est pas corrigeable par configuration, sauf a supprimer la seconde langue mais comme cette fonction aussi est buggué ça ne solutionnera pas le problème. Votre seul espoir surfer vers la dernière 1.7 en espérant que cela ait été corrigé Link to comment Share on other sites More sharing options...
Jgoss Posted May 13, 2019 Author Share Posted May 13, 2019 (edited) Hum, alors en fait c'est bien moi qui avais fait une surcharge pour afficher le nom du groupe client dans la liste des clients (m'en rappelais même plus ...) Et c'est bien ma requête qui n'était pas complète. Toutes mes excuses, je suis un boulet sur ce coup. Merci pour votre aide précieuse sur ce forum en tout cas Edited May 13, 2019 by Jgoss (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now