【问题标题】:Getting error while adding product to cart将产品添加到购物车时出错
【发布时间】:2019-06-11 07:14:45
【问题描述】:

我尝试以编程方式添加产品。我使用下面的代码

$cart = Mage::getSingleton('checkout/cart');
$cart->init();
$paramater = array(
            'product' => $product->getId(),
            'related_product' => null,
            'qty' => 1,
            'form_key' => Mage::getSingleton('core/session')->getFormKey()
        );
$request = new Varien_Object();
$request->setData($paramater);
$cart->addProduct($product, $request);
$cart->save();

此代码在登录后工作正常。但在登录之前我收到以下错误。

a:5:{i:0;s:640:"SQLSTATE[23000]: 完整性约束违规:1452 无法添加或更新子行:外键约束失败 (db_magento_nua.sales_flat_quote_item, CONSTRAINT FK_SALES_FLAT_QUOTE_ITEM_QUOTE_ID_SALES_FLAT_QUOTE_ENTITY_ID FOREIGN KEY (quote_id) REFERENCES sales_flat_quote (entity_id) ON DELE),查询是:INSERT INTO sales_flat_quote_item (created_at, updated_at, @9876543323@, @98765333 @、skunameis_qty_decimalweightqtycustom_priceproduct_typeoriginal_custom_pricebase_cost) 值 ('2019-06-11: 58', '2019-06-11 12:17:58', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";i:1;s:2586: "#0 /var/www/html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)

谁能帮我解决这个问题。提前致谢。

【问题讨论】:

    标签: php mysql magento magento-1.9


    【解决方案1】:

    尝试使用 Mage::getModel()

    $cart = Mage::getModel('checkout/cart');
    $cart->init();
    $paramater = array(
                    'product' => $product->getId(),
                    'related_product' => null,
                    'qty' => 1,
                    'form_key' => Mage::getSingleton('core/session')->getFormKey()
                );
    $request = new Varien_Object();
    $request->setData($paramater);
    $cart->addProduct($product, $request);
    $cart->save();
    

    【讨论】:

      【解决方案2】:

      我为此找到了解决方案。由于没有报价,我无法添加项目。我只需要在将产品添加到购物车之前启动报价。我现在使用下面的代码来添加产品。

       $cart = Mage::getSingleton('checkout/cart');
       $cart->init();
       $quote = $cart->getQuote();
       $paramater = array(
          'product' => $product->getId(),
          'qty' => 1,
          'form_key' => Mage::getSingleton('core/session')->getFormKey()
       ); 
       $request = new Varien_Object();
       $request->setData($paramater);
       $quote->addProduct($product, $request);
       $quote->save();
       $cart->save();
      
      

      以上代码按预期工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-09
        • 1970-01-01
        • 2011-12-19
        • 2014-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多