config.xml にオブザーバー sales_quote_add_item があり、アイテムがカートに追加されたときに以下の関数を実行します。
public function updatePrice( $observer ){
$event = $observer->getEvent();
$quote_item = $event->getQuoteItem();
$new_price = 200;
$quote_item->setOriginalCustomPrice($new_price);
$quote_item->setTotalPrice(350);
$quote_item->save();
}
ユーザーが登録されている場合は正常に機能していますが、ゲストとしている場合はこの行です
$quote_item->save();
var/exception.log にエラーを与える
2012-10-23T05:12:28+00:00 DEBUG (7): Exception message: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`bluning_mage`.`sales_flat_quote_item`, CONSTRAINT `FK_SALES_QUOTE_ITEM_SALES_QUOTE` FOREIGN KEY (`quote_id`) REFERENCES `sales_flat_quote` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE)
どうすれば解決できますか?