我需要选择 SKU,其中 partno = MEM1600-2U6D 和 brandname = Cisco 和 Condition = New
任何人都可以为此提供解决方案。
$collection = Mage::getModel('目录/产品') ->getCollection() ->addAttributeToSelect('*') ->addFieldToFilter(数组( 数组('属性'=>'partno','eq'=>'MEM1600-2U6D'), )) ->addFieldToFilter(数组( 数组('属性'=>'品牌','eq'=>'思科'), )) ->addFieldToFilter(数组( 数组('属性'=>'条件','eq'=>'新'), ))
我不确定。此外,您可以尝试使用 UNION 来实现您的目标。
好吧,我会尝试这样的事情:
选择 sku FROM catalog_product_entity 在哪里 entity_id in ( SELECT entity_id from catalog_product_entity_varchar WHERE attribute_id = (SELECT attribute_id from eav_attribute WHERE name='Partno' LIMIT 1) AND value = 'MEM1600-2U6D' 联盟 SELECT entity_id from catalog_product_entity_varchar WHERE attribute_id = (SELECT attribute_id from eav_attribute WHERE name='brandname' LIMIT 1) AND value = 'Cisco' 联盟 SELECT entity_id from catalog_product_entity_varchar WHERE attribute_id = (SELECT attribute_id from eav_attribute WHERE name='Condition' LIMIT 1) AND value = 'new' )
那么你可能
GROUP by entity_id HAVING COUNT(*) = 3
像这样的东西。这意味着如果我们有 3 个 entity_id 条目,这意味着它符合我们的情况。
条件列在哪里?
编辑:N/m,我刚看到。你不能用那个表设置来做到这一点。条件/品牌必须是单独的列或表,而不是值。在值列中使用 Condition 时,它有自己的 SKU,因此您有 2 个 SKU,一个用于产品,一个用于状态。