Question

I am trying to create products programmatically. In the task, I need to set the multiselect attribute options. I tried like below, but it is not working.

$optionIds[] = $optionId; //$optionIds = array(41,42,43)
$product->setData($attributeCode, $optionIds);

But it is not working. I don't know what I am doing wrong. Can anyone help on this?

Was it helpful?

Solution

Multiselect values are saved id db as imploded string, so if you created your attribute correctly, imploding array should solve the problem.

OTHER TIPS

The values from multiselect attributes are saved concatenated by comma 1,4,6 so you need to replace your code from

$optionIds[] = $optionId; //$optionIds = array(41,42,43)
$product->setData($attributeCode, $optionIds);

To

$optionIds = implode(',',$optionId); //$optionIds = array(41,42,43)
$product->setData($attributeCode, $optionIds);
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top