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があります。