1.6.2.11 - Bug classe Carrier
-
Pour info, j'ai une erreur 500 en FO au moment de me connecter, ,je suis étonnée de ne pas avoir vu remonter le bug ?
Cela vient de la classe Carrier, ligne 634, un problème de parenthèses mal placées. La requête était ok sur la version 1.6.2.9.ON(cz.id_zone = zz.id_zone) ON zz.`id_zone` = c.`id_zone`)j'ai remplacé par
ON cz.id_zone = zz.id_zone) ON zz.`id_zone` = c.`id_zone`Je ne sais pas si c'est utile ou au contraire non souhaitable, mais j'ai ajouté un distinct dans le Select ?
-
Bonjour,
Effectivement le bug a été remonté sur la 11.
Il est corrigé dans la 12 qui sort incessamment sous peu$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT cl.*,c.*, cl.`name` AS country, zz.`name` AS zone FROM `'._DB_PREFIX_.'country` c'. Shop::addSqlAssociation('country', 'c').' INNER JOIN `'._DB_PREFIX_.'country_lang` cl ON(c.`id_country` = cl.`id_country` AND cl.`id_lang` = '.(int)$id_lang.') INNER JOIN `'._DB_PREFIX_.'carrier_zone` cz ON(cz.id_zone = c.id_zone) INNER JOIN `'._DB_PREFIX_.'carrier` cr ON(cr.id_carrier = cz.id_carrier AND cr.deleted = 0 '. ($active_carriers ? ' AND cr.active = 1) ' : ') ').' LEFT JOIN `'._DB_PREFIX_.'zone` zz ON(cz.id_zone = zz.id_zone AND zz.`id_zone` = c.`id_zone`) WHERE 1 '.($active_countries ? ' AND c.active = 1' : '').' '.(!is_null($contain_states) ? ' AND c.`contains_states` = '.(int)$contain_states : '').' GROUP BY c.`id_country` ORDER BY cl.`name` ASC ');Et non, le distinct n'est plus utile.