2
$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, CONSTRAINT FK_GALI_CAT_PRD_ENTT_ATTR_SET_ID_GALI_EAV_ATTR_SET_ATTR_SET_ID FOREIGN KEY ( attribute_set_id) REFERENCES mage_eav_attribute_set )";i :1;s:2463:"#0 /lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(配列)

問題を修正するのを手伝ってくれる人はいますか?

4

6 に答える 6

2

attribute_set_id = 4 の属性セットがないようです。そのため、新しい商品を挿入または更新できません。テーブルmage_eav_attribute_setをチェックして、それが真かどうかを確認してください。

于 2012-10-16T14:34:58.127 に答える
0

DB のキーを確認してください。問題がある可能性があります。magento の更新後に発生することがあります。

于 2012-10-16T15:53:01.310 に答える
0

このコードを試してください

try {
   //$product->save(); //this method re-trigger all save events
   $product->getResource()->save($product);
}
catch (Exception $ex) {
   echo $ex->getMessage();
   exit();
}
于 2013-01-25T05:35:37.853 に答える
0

attribute_set_id が適切であることを確認してください。

于 2014-06-04T14:10:50.593 に答える
0

この行には大文字の P が必要です

->setpropertyadd($post['address'])// property address

だからそうあるべきだ

->setPropertyadd($post['address'])// property address
于 2015-04-30T08:19:58.790 に答える
-1

コミュニティとエンタープライズは少し異なるように見えますが、

コミュニティでは、$product->save(); $product->getResource()->save($product); Enterprise で動作します。動作します。

後者を使用する場合、コミュニティは制約エラーをスローするようには見えませんが、企業はそうします。

于 2013-04-12T16:02:28.367 に答える