catalog_product_collection_load_beforeイベントを観察し、その type_id に基づいて製品コレクションをフィルタリングしようとしています。ただし、Column not found: 1054 Unknown column 'e.type_id' in 'where clause error. が発生し続けます。
コードは次のようになります。
$observer->getCollection()->addFieldToFilter(array(
array(
'attribute' => 'price',
'eq' => '20',
),
array(
'attribute' => 'type_id',
'neq' => 'simple',
),
));
このようにもっとシンプルにしようとさえしましたが、それでもうまくいきません。
$observer->getCollection()->addFieldToFilter('type_id','simple');
price、name、entity_id などの他の属性では機能しますが、type_id では機能しません。何故ですか?