0
我在產品上使用過濾器的電子商務網站。產品具有許多ProductProperties,它們屬於屬性(基本屬性類型)(Spree數據庫模式)。通過多選方面進行搜索
屬性有:「brand」,「product_type」,「collection_status」和「collection_season」。用戶可以使用複選框(每個過濾器有多個值)對每個人進行過濾,因此他可以選擇「品牌'lacoste'或'fred perry'的產品類型'襪子'或'襯衫'」。
這個邏輯對我來說很難理解。我很困惑:我可以在一個SQL查詢中執行搜索嗎?這個查詢是否有意義?
SELECT COUNT(DISTINCT "spree_products"."id") FROM "spree_products"
LEFT OUTER JOIN "spree_product_properties" ON "spree_product_properties"."product_id" = "spree_products"."id"
WHERE
("spree_product_properties"."value" in ('lacoste', 'fred perry') AND "spree_product_properties"."property_id" = 161337574)
AND
("spree_product_properties"."value" in ('socks', 'shirts') AND "spree_product_properties"."property_id" = 905834903)
正如我所看到的,asos執行以類似的情況下,多步的搜索。
更新:上面的查詢產生錯誤的搜索結果。如果你願意,你可以在沙箱中試用。
您想要針對多個屬性查詢產品,並且您還提供了SQL查詢以實現該目的?這裏有什麼問題?你需要進一步解釋你的最後一句話。 –
對不起,在最後一句話中,我決定刪除它。實際上,這個SQL查詢是由我編寫的,它不會產生我想要的結果。 –