我希望有人能帮我解决这个问题。我正在尝试使用集合从 Magento 目录模型中加载一些数据。代码如下所示:
$model = Mage::getModel('catalog/product');
$collection = $model->getCollection();
$collection->addAttributeToSelect('short_description');
$collection->addFieldToFilter('SKU',array('like' => array('%EBOOK%')));
$collection->load();
var_dump($collection->getData());
这会生成包含平面目录产品表中所有字段的对象转储,但不包括我使用 $collection->addAttributeToSelect()
方法请求的字段。无论我使用此方法指定什么字段(甚至是“*”),我都无法让集合返回其标准字段集以外的任何内容。我也无法使用本应有效的 $collection->removeFieldFromSelect(NULL)
取消设置任何字段。
我是不是在做一些愚蠢/错误的事情/两者都是?
提前致谢。
最佳答案
这是因为您在集合上调用了 getData()
,而不是在这个集合的产品上。
我从来没有真正分析过为什么会这样,但是如果你使用
foreach ($collection as $product) {
var_dump($product->getData());
}
代替
$collection->load();
var_dump($collection->getData());
您将获得您期望的数据。
关于php - 在 Magento 中向收集请求添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10304031/