$product = Mage::getModel('catalog/product');
// Build the product
$product->setStoreID($store_id);//Store Id
$product ->setTotalrooms($post['room'])//No of roms avaliable
->setSku($sku)//product Sku
->setUserid($CusId)//Customer id
->setAttributeSetId(4)
->setTypeId('property')//product type
->setName($post['name'])//propertyName
->setDescription($post['desc'])//Description
->setShortDescription($post['sdesc'])//shortdescription
->setPrice($post['price']) // Set some price
->setAccomodates($post['accomodate'])//Custom created and assigned attributes
->setHostemail($CusEmail)//host email id
->setpropertyadd($post['address'])// property address
->setAmenity($amenity)//amenity like room service,e.t.c
->setState($post['state'])//property state name
->setCity($post['city'])// property city name
->setCountry($post['propcountry'])//country
->setCancelpolicy($post['cancelpolicy'])//regarding to cancelation policy
->setPets($post['pets'])//regaring to pets allowed or not allowed
->setBedtype($post['bedtype'])//bedtype
->setMaplocation($post['map'])//property map location
->setMetaTitle($post['meta_title'])//Meta title
->setMetaKeyword($post['meta_keyword'])//Meta keywords
->setMetaDescription($post['meta_description'])//Meta description
->setPropertytype(array($post['proptype']))//property type
->setPrivacy(array($post['privacy']))//privacy
->setCategoryIds(Mage::app()->getStore()->getRootCategoryId())//Default Category
->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)//Visibility in both catalog and search
->setStatus(1)//enable the Status
->setTaxClassId(0) # My default tax class
->setStockData(array(
'is_in_stock' => 1,
'qty' => 100000
))//Inventory
->setCreatedAt(strtotime('now'))
->setWebsiteIDs(array($websiteId)); //Website id, my is 1 (default frontend)
try {
$product->save();
}
catch (Exception $ex) {
echo $ex->getMessage();
exit();
}
当我保存产品时,它会显示如下错误:
a:5:{i:0; s:313:“SQLSTATE [23000]:违反完整性约束:1452 无法添加或更新子行:外键约束失败 (
glampeu_mage1
。mage_catalog_product_entity
,CONSTRAINTFK_GALI_CAT_PRD_ENTT_ATTR_SET_ID_GALI_EAV_ATTR_SET_ATTR_SET_ID
FOREIGN KEY(attribute_set_id
)参考mage_eav_attribute_set
)“; i:1; s:2463:”#0 /lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo-> _execute(阵列)
任何人都可以帮我解决问题吗?
答案 0 :(得分:2)
您似乎没有使用 attribute_set_id = 4设置属性,因此无法插入或更新新产品。检查您的表 mage_eav_attribute_set ,看看它是否属实。
答案 1 :(得分:0)
检查数据库中的密钥,可能存在问题,有时会在更新magento后发生。
答案 2 :(得分:0)
试试这段代码
try {
//$product->save(); //this method re-trigger all save events
$product->getResource()->save($product);
}
catch (Exception $ex) {
echo $ex->getMessage();
exit();
}
答案 3 :(得分:0)
检查你的attribute_set_id是否合适。
答案 4 :(得分:0)
这一行应该有一个大写P
->setpropertyadd($post['address'])// property address
所以它应该是
->setPropertyadd($post['address'])// property address
答案 5 :(得分:-1)
社区和企业似乎有点不同,
社区中的,$ product-> save();将工作 在Enterprise中,$ product-> getResource() - > save($ product);的工作原理。
社区在使用后者时似乎不会抛出任何约束错误,但企业会这样做。