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
Multiselect values are saved id db as imploded string, so if you created your attribute correctly, imploding array should solve the problem.
-
May I know the table name?SIBHI S– SIBHI S2016年04月13日 08:53:04 +00:00Commented Apr 13, 2016 at 8:53
-
catalog_product_entity_varcharAleksa Živković– Aleksa Živković2016年04月13日 08:55:04 +00:00Commented Apr 13, 2016 at 8:55
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);
Explore related questions
See similar questions with these tags.