1

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?

1

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

2
  • May I know the table name?
    – SIBHI S
    Apr 13 '16 at 8:53
  • catalog_product_entity_varchar Apr 13 '16 at 8:55
3

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);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.