开发者

attribute select magento query

开发者 https://www.devze.com 2023-01-23 14:56 出处:网络
i am trying to get this query in magento. Select merk, option_idfrom catalog ....... group by option_id

i am trying to get this query in magento.

Select merk, option_id from catalog ....... group by option_id

Sofar i have this but it aint showing the option_id value unfortunately and also i dont know how to group by them...

i hope someone is willing to help me [code]

<?php 
function getMenuWatches(){
    $collection = Mage::getModel("catalog/product")->getCollection();
    $collection->addAttributeToFilter("attribute_set_id", 26); 
    $collection->addAttributeToSelect("option_id , merk"); 


    return $collection;
}
$collection=getMenuWatches();
//print_r($collection);
foreach ($collection as $product){
    echo $product->getOptionId();
    $product->getMerk();
    echo   $product->getId('merk开发者_如何学JAVA');
    echo   $product->getAttributeText('merk')."<br/>";

}
?>
[/code]


$collection->addAttributeToSelect(array('option_id', 'merk'));
$collection->groupByAttribute('option_id');


Attributes with multiple choices are stored as comma separated values. So you just need add "merk" attribute in select object:

$collection->addAttributeToSelect('merk');

and when you are iterating the collection, you may retrieve options id by calling your attribute value:

// List of option_id values
$values = explode(',', $product->getMerk()); 

After retrieving of the values you need to retrieve option label for each option id

$attribute = $product->getResource()->getAttribute('merk');
$optionLabel = $attribute->getSource()->getOptionText($optionId);

To filter by one of the multiple values you may use:

// Creates FIND_IN_SET statement for comma-separated attribute values
$collection->addAttributeToFilter('merk', array('finset' => $optionId)); 
0

精彩评论

暂无评论...
验证码 换一张
取 消