作成した最初の Web サイトから、後でマルチストア設定で追加した別の 23 の Web サイトに製品をコピーしようとしています。私は仕事をするべきだと思ったこのコードを持っています:
$arr_stores = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24);
$store_from = 1; // first store id
// get observer data and process each imported simple product - my products that need to be copied to other websites
$_event = $observer->getEvent();
$_adapter = $_event->getAdapter();
foreach($_adapter->getNewSku() as $sku => $value) {
if($value['type_id'] == 'simple'){
// load the next product - this loads product correctly
$_product = Mage::getModel('catalog/product')->setStoreId($store_from)->load($value['entity_id']);
// set the websites
$_product->setWebsiteIds($arr_stores);
$_product->save();
// clear the var
unset($_product);
}
}
ただし、次のエラー メッセージが表示されます。
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`workoutlife`.`catalog_product_website`, CONSTRAINT `FK_CATALOG_PRODUCT_WEBSITE_WEBSITE_ID_CORE_WEBSITE_WEBSITE_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELET)
この制約が失敗する理由を誰か教えてもらえますか? そして、なぜ ON DELET があるのでしょうか? 私は何も削除しようとはしていません。ティア