атрибут select magento query - PullRequest
       3

атрибут select magento query

1 голос
/ 06 ноября 2010

Я пытаюсь получить этот запрос в magento.

Выберите merk, option_id из каталога ....... группировать по option_id

Софар, у меня есть это, но оно не показывает значение option_id, к сожалению, и я не знаю, как сгруппировать их ...

Я надеюсь, что кто-то готов помочь мне [Код]

<?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');
    echo   $product->getAttributeText('merk')."<br/>";

}
?>
[/code]

Ответы [ 2 ]

1 голос
/ 07 ноября 2010

Атрибуты с множественным выбором сохраняются как значения, разделенные запятыми.Поэтому вам просто нужно добавить атрибут "merk" в объект выбора:

$collection->addAttributeToSelect('merk');

, и когда вы выполняете итерацию коллекции, вы можете получить идентификатор опции, вызвав значение вашего атрибута:

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

После получения значений вам нужно получить метку опции для каждого идентификатора опции

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

. Чтобы отфильтровать по одному из нескольких значений, вы можете использовать:

// Creates FIND_IN_SET statement for comma-separated attribute values
$collection->addAttributeToFilter('merk', array('finset' => $optionId)); 
1 голос
/ 06 ноября 2010
$collection->addAttributeToSelect(array('option_id', 'merk'));
$collection->groupByAttribute('option_id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...