Jump to content

Query ai prodotti avendo id di attributo


Madsex

Recommended Posts

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...