I have built a collection (includes ->addAttributeToSelect('*')
) to generate a CSV and then from this collection, I need to fetch the associated simple products so that I can load different sizes, colours etc:-
$associatedProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null,$product);
And I can then load each simple product in a foreach
loop:-
foreach ($associatedProducts as $simple) {
//load product
$simple_product = Mage::getModel('catalog/product')->load($simple->getId());
}
I have a custom attribute (dropdown) and I need to only load simple products if this dropdown value is set to 'Yes' but I can only seem to be able to fetch this value for a configurable product:-
$product->getAttributeText('attribute_code'); <-- this works
Trying to get the attribute from the simple product doesn't work:-
$simple->getAttributeText('attribute_code'); <-- this doesn't work
And it returns bool(false)
rather than a string.
There is obviously lots more of this script but I am hoping I have just pulled out what is relevant above.
Can anyone shed any light as to what I need to do differently for me to get the attribute value from the simple product loading?
Edit
Here is a sample SQL output for one of the simple products as per the comments in @Richard's answer below:-
SELECT 1 AS `status`, `e`.`entity_id`, `e`.`type_id`, `e`.`attribute_set_id`, `cat_index`.`position` AS `cat_index_position`, `e`.`entity_id`, `e`.`attribute_set_id`, `e`.`type_id`, `e`.`cost`, `e`.`created_at`, `e`.`gift_message_available`, `e`.`has_options`, `e`.`image_label`, `e`.`is_recurring`, `e`.`links_exist`, `e`.`links_purchased_separately`, `e`.`links_title`, `e`.`msrp`, `e`.`msrp_display_actual_price_type`, `e`.`msrp_enabled`, `e`.`name`, `e`.`news_from_date`, `e`.`news_to_date`, `e`.`price`, `e`.`price_type`, `e`.`price_view`, `e`.`recurring_profile`, `e`.`required_options`, `e`.`shipment_type`, `e`.`short_description`, `e`.`sku`, `e`.`sku_type`, `e`.`small_image`, `e`.`small_image_label`, `e`.`special_from_date`, `e`.`special_price`, `e`.`special_to_date`, `e`.`tax_class_id`, `e`.`thumbnail`, `e`.`thumbnail_label`, `e`.`updated_at`, `e`.`url_key`, `e`.`url_path`, `e`.`visibility`, `e`.`weight`, `e`.`weight_type`, `e`.`product_teaser`, `e`.`manufacturer`, `e`.`manufacturer_value`, `e`.`product_size_women`, `e`.`product_size_women_value`, `e`.`image`, `e`.`colour`, `e`.`colour_value` FROM `catalog_product_flat_1` AS `e` INNER JOIN `catalog_category_product_index` AS `cat_index` ON cat_index.product_id=e.entity_id AND cat_index.store_id='1' AND cat_index.category_id = '3' WHERE (e.type_id = 'configurable') AND (e.visibility IN(4, 3, 2))