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?

2 Answers 2

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
    Commented Apr 13, 2016 at 8:53
  • catalog_product_entity_varchar Commented Apr 13, 2016 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 and acknowledge you have read our privacy policy.

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