我一直在努力将两个不同的集合合并在一起,我发现它很难做到。如何将自定义数据添加到加载的Magento集合
其实,我正在尝试做的唯一事情是将另一个属性添加到已经实例化(我认为)的集合。
这是我的代码:
private function _addProductsToBanners()
{
$skus = $this->_getBannersSkus();
$products = Mage::getResourceModel('catalog/product_collection')
->addFieldToFilter('sku', array('in' => $skus))
->addAttributeToSelect(array('name'));
/** @var Developer_Banners_Model_Resource_Banner_Collection $banners */
$banners = $this->banners;
foreach ($banners as $banner) {
foreach ($products as $product) {
if ($banner->getSku() == $product->getSku())
{
$banner->setData('product', 1);
}
}
}
echo '<pre>';
print_r($banners->getData());
echo '</pre>';
}
这里的问题是,与getData()
打印$banners
集合时,我看不到[product]
财产,但如果我这样做没有getData()
然后我看到它。
如果您有任何想法,我将不胜感激!
谢谢!
谢谢!当你有时间的时候 - 你能解释为什么不是用于集合的_data属性,因为它最终会被_items最初填充的相同数据填充? – Wowca
我会稍后尝试添加解释。 – smiggle