Magento 1.7を参照し て、複数のカテゴリ で製品をフィルタリングする 新しい質問があります:
私は Magento 1.7.0.2 を使用していますが、(AND を介して) 複数のカテゴリで製品コレクションをフィルター処理するための説明されているソリューションが機能しません。
私のカテゴリ構造:
- 根
- 猫 1
- 猫1a
- 猫1b
- 猫 2
- 猫2a
- 猫2b
- 猫 3
- 猫 1
たとえば、製品は、同時にカテゴリ 1a、カテゴリ 2、およびカテゴリ 2b に存在する可能性があります。フィルタリングすると、リストされるはずです:
- 猫1aの後
- 猫 1a & 猫 2 の後
- 猫 1a & 2b & 2 の後
フィルタリングすると、表示されてはなりません。
- 猫3の後
- 猫 1 & 猫 1a の後
- 猫 1a & 2a の後
私のコード:
$_productCollection = Mage::getModel('catalog/product')
->getCollection()
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
->addAttributeToSelect('*')
->addAttributeToFilter('category_id',
array("finset" => array(53, 46))
);
これにより、SQLエラーが発生します。
#1582 - Incorrect parameter count in the call to native function 'FIND_IN_SET'
SELECT `e`.*, `at_category_id`.`category_id` FROM `catalog_product_entity` AS `e`
LEFT JOIN `catalog_category_product` AS `at_category_id` ON (at_category_id.`product_id`=e.entity_id) WHERE (FIND_IN_SET(53, 46, at_category_id.category_id))
これを機能させるために私がしなければならないことは何ですか?