Php Magento multiselect限制所选选项的数量

Php Magento multiselect限制所选选项的数量,php,magento,Php,Magento,magento是否对在multiselect字段中可以选择的选项数量有某种内置限制 我需要定期选择>50个选项,除非它似乎无法从我传递给它的选项ID数组中选择超过41个 我使用的代码是这样的。。。其中$valueIds是选项ID的数组 if($valuesIds){ $product = Mage::getModel('catalog/product')->loadByAttribute('sku',$trimmedSKU);

magento是否对在multiselect字段中可以选择的选项数量有某种内置限制

我需要定期选择>50个选项,除非它似乎无法从我传递给它的选项ID数组中选择超过41个

我使用的代码是这样的。。。其中$valueIds是选项ID的数组

if($valuesIds){

                $product = Mage::getModel('catalog/product')->loadByAttribute('sku',$trimmedSKU);
                if($product){
                try {
                $product->setData($this->attrCode, $valuesIds);
                $product->save();
                } catch (Mage_Core_Exception $e) {
                    echo $e->getMessage();
                }
                }else{

                    echo "SKU $trimmedSKU Does Not Match any Product";

                }
            }

处理时,仅选择数组中的前41项,之后的所有内容都将被忽略。有人知道为什么会这样吗?

很可能是MySQL的一个限制。如果您使用的属性具有
后端类型
varchar
,则限制为255个字符。
如果是这种情况,请尝试将
后端类型
更改为
文本
,但首先要备份。您可能会丢失已存在的值。

您可能需要将它们从表
catalog\u product\u entity\u varchar
移动到
catalog\u product\u entity\u text

,因为我知道没有限制规则。您必须检查代码中的获取选项。是否有简单的方法更改后端类型?这可以在管理区完成,还是数据库更改?您可以从数据库更改它。在表
eav\u attribute
中标识属性,并更改字段
backend\u type
。但正如我所说,您可能会丢失现有的值。我刚刚尝试了这个,我遇到了一个问题,即它现在不再保存选定的属性。。。不在varchar表或文本表中