
partno = MEM1600-2U6D、brandname = Cisco、Condition = New の SKU を選択する必要があります。
誰でも私にこれに対する解決策を提供できますか?
$collection = Mage::getModel('カタログ/製品')
->getCollection()
->addAttributeToSelect('*')
->addFieldToFilter(配列(
array('attribute'=>'partno','eq'=>'MEM1600-2U6D'),
)))
->addFieldToFilter(配列(
array('attribute'=>'brandname','eq'=>'Cisco'),
)))
->addFieldToFilter(配列(
array('attribute'=>'condition','eq'=>'New'),
)))
私はわかりません。さらに、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
このようなもの。つまり、entity_id に 3 つのエントリがある場合、それはケースに一致することを意味します。
条件列はどこにありますか?
編集:N / m、私はちょうど見た。そのテーブル設定ではそれを行うことはできません。条件/ブランドは、値ではなく、別の列またはテーブルである必要があります。値の列にConditionを指定すると、独自のSKUがあるため、製品用と状態用の2つのSKUがあります。