php - 在 Magento 中向收集请求添加属性

标签 php magento

我希望有人能帮我解决这个问题。我正在尝试使用集合从 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/

相关文章:

php - curl: (35) 连接到的未知 SSL 协议(protocol)错误 - 调用 web 服务时出错

php - MySQL : ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)

php - Nginx位置 block 访问列表和 'X-Forwarded-For'

php - 将日期时间和时区转换为日期时间

magento - 将自定义模板添加到管理产品价格选项卡

magento - 为什么我的 Magento 观察者陷入无限循环?

php - 用逗号和字符串分隔数组 PHP

php - Laravel Eloquent 查询时进行过滤

javascript - 更改 URL 并保留下拉 onChange 事件中的值

magento - 非对象上的 getID()