Magento 中的 addAttributeToFilter 和 addFieldToFilter 有什么区别?我创建了一个自定义属性是/否。但是当我尝试提取产品系列时,它们都不适合我。它没有过滤任何东西。

    $Products = Mage::getModel('catalog/product')->getCollection();
    $Products->addAttributeToSelect('*');
    $Products->addFieldToFilter('amazon_listed',1);
    $Products->addFieldToFilter('status',Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
    $Products->load();

最佳答案

addFieldToFilter 将基于表catalog_product_entity中数据库中的列过滤产品。

addAttributeToFilter 将根据您在集合中包含的属性过滤产品。

在您的情况下,您必须像这样使用 addAttributeToFilter :

$Products->addAttributeToFilter('amazon_listed',array('eq' => 1));
$Products->addAttributeToFilter('status',array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));

关于php - Magento 中 addAttributeToFilter 和 addFieldToFilter 的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22208147/

10-11 03:04