在加载时替换magento集合中的列名称

时间:2014-05-07 10:26:40

标签: magento

我有一个自定义模块,我正在加载一个像

这样的集合
$collection = Mage::getModel('module/product')->getCollection()
                                   ->addFieldToFilter('sku',$sku);

数据库中有一个名为prod_id的字段。我可以在加载集合时将其作为entity_id吗?

如果是,请帮助如何做到这一点。

1 个答案:

答案 0 :(得分:0)

首先是

addAttributeToFilter()  is used to filter EAV collections.

addFieldToFilter() is used to filter Non-EAV collections.

EAV模型例如是产品,客户,销售等,因此您可以对这些实体使用addAttributeToFilter()

addFieldToFilter() is mapped to `addAttributeToFilter()` for `EAV` entities. So you can just use `addFieldToFiler().`

您可以查看完成映射的app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php

public function addFieldToFilter($attribute, $condition = null) {
    return $this->addAttributeToFilter($attribute, $condition);
}

如果您使用的是自定义模块,则可以直接将addFieldToFilter()column名称一起使用

$collection = Mage::getModel('module/model')->getCollection()
                                   ->addFieldToFilter('column_name',$data);

如果您有任何疑问,请告诉我