Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么在保存产品自定义属性值时出现此错误?_Php_Magento_Attributes - Fatal编程技术网

Php 为什么在保存产品自定义属性值时出现此错误?

Php 为什么在保存产品自定义属性值时出现此错误?,php,magento,attributes,Php,Magento,Attributes,我正试图用这些简单的代码来保存产品值以进行测试 $p=Mage::getModel(“目录/产品”); $p->setData(“sku”、“真实值sku111”); $p->setData(“名称”、“真实值名称”); $p->setData(“自定义属性”、“真实值”); $p->save(); 我通过管理面板创建了一个custom\u attr属性,上面的代码给出了一个错误 处理您的请求时出错 错误是: a:5:{i:0;s:476:“SQLSTATE[23000]:完整性约束冲突:14

我正试图用这些简单的代码来保存产品值以进行测试

$p=Mage::getModel(“目录/产品”);
$p->setData(“sku”、“真实值sku111”);
$p->setData(“名称”、“真实值名称”);
$p->setData(“自定义属性”、“真实值”);
$p->save();
我通过管理面板创建了一个
custom\u attr
属性,上面的代码给出了一个错误

处理您的请求时出错

错误是:

a:5:{i:0;s:476:“SQLSTATE[23000]:完整性约束冲突:1452 无法添加或更新子行:外键约束失败 (
magento\u oguz
目录产品\u实体
,约束
FK\u CAT\u PRD\u ENTT\u ATTR\u SET\u ID\u EAV\u ATTR\u SET\u ATTR\u SET\u ID
外键 (
attribute\u set\u id
)引用
eav\u attribute\u set
属性集\u id
),查询为:插入到
catalog\u product\u entity
entity\u type\u id
sku
创建,
更新了值(?,'2015-10-06 20:34:57','2015-10-06
20:34:57“,”i:1;s:1940:“#0


为什么会出现此错误?如何保存此属性的值?

它似乎不是来自您的自定义属性

当您执行这段代码时,您基本上创建了一个新产品。 创建产品时,Magento需要属性集id

下面的这段代码可能不会出错:

$p = Mage::getModel("catalog/product");
$p->setData("sku","real val sku111");
$p->setData("name","real val name");
$p->setData("custom_attr","real val");
// Assuming "Default" attribute set id is 9
$p->setAttributeSetId(9);
$p->save();
如果您想编辑现有产品,则必须在调用任何setData之前加载id,使用以下内容:

$_product = Mage::getModel('catalog/product')->loadByAttribute('sku','real val sku111');

我做了一些复制编辑和格式更改,希望能帮助您有更好的机会在这里得到一个好的答案。(顺便说一下,欢迎使用StackOverflow。)您的新属性是否分配给属性集?分配给默认属性集。