Madsex Posted July 11, 2016 Share Posted July 11, 2016 Salve, vorrei ottenere una query che mi tiri fuori i prodotti attraverso una parola chiave(tipo ricerca) e uno o più id di attributo. ES: prendi tutti i prodotti attinenti al termine "abito" di colore arancione ( id 13 ) e di taglia S ( id 1 ) - queste info con id le ho rpese dall'installazione base di prestashop per cui sono vere . Fin'ora prendendo spunto dalla classe di ricerca ho prodotto questo: SELECT cp.`id_product` FROM `ps_category_product` cp INNER JOIN `ps_category_group` cg ON cp.`id_category` = cg.`id_category` INNER JOIN `ps_category` c ON cp.`id_category` = c.`id_category` INNER JOIN `ps_product` p ON cp.`id_product` = p.`id_product` INNER JOIN `ps_product_attribute_combination` pac ON pac.`id_attribute` IN (1,13) INNER JOIN `ps_product_attribute` pa ON pa.`id_product_attribute` = pac.`id_product_attribute` AND pa.`id_product` = p.`id_product` INNER JOIN `ps_product_attribute_shop` pas ON pa.`id_product_attribute` = pas.`id_product_attribute` AND pas.`id_product` = p.`id_product` AND pas.`id_shop` = 1 LEFT JOIN ps_product_shop product_shop ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1) WHERE c.`active` = 1 AND product_shop.`active` = 1 AND product_shop.`visibility` IN ("both", "search") AND product_shop.indexed = 1 AND cg.`id_group` = 1 I prodotti vengono tirati fuori ma ho notato un problema. Vengono tirati fuori tutti i prodotti con id 1 (e sono quattro) sebbene con id 13 ve ne sia solo uno. In pratica vorrei alla fine ottenere un'unico prodotto, che quello con id attributo 13 ( cioè arancione ), questo perchè ve ne è solo uno ed è quindi incompatibile con l'altro filtro che ha quattro prodotti con id 1. Lo so è contorto perdonatemi. Riuscite a darmi una mano? penso di non aver capito bene come funzionano le tabelle degli attributi di prestashop, mi sanno di complicato. Grazie in anticipo 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