致命错误:在布尔值中调用成员函数setCustomer()

时间:2017-10-31 11:58:54

标签: php magento magento-1.9

当我使用以下代码更新商店信用余额给客户时,我收到此错误:

  

致命错误:在

中的布尔值上调用成员函数setCustomer()
$balance = Mage::getModel('enterprise_customerbalance/balance')
                    ->setCustomer($customer)
                    ->setWebsiteId($websiteId)
                    ->setAmountDelta($anyNumber)
                    ->setComment($data['comment']);

$balance->save();

3 个答案:

答案 0 :(得分:0)

确保此模型类(或其父类)具有名为setCustomer()

的方法

分享型号代码以获得进一步的建议。通常,类构造函数不会返回布尔值。

答案 1 :(得分:0)

在此处进行一些代码审核之后,您将:

$balance = Mage::getModel('enterprise_customerbalance/balance')
            ->setCustomerId($customer->getId())
            ->setWebsiteId($websiteId)
            ->loadByCustomer();

$balance->setAmountDelta($anyNumber)
    ->setUpdatedActionAdditionalInfo($data['comment'])
    ->setHistoryAction(1)
    ->save();

答案 2 :(得分:0)

代码Mage::getModel('enterprise_customerbalance/balance')似乎返回false

请确认您是否拥有Enterprise_CustomerBalance_Model_Balance课程。

也许您正在尝试使用Magento Enterprise Edition for Magento Community Edition的代码。

如果您在$className课程的方法getModelInstance中观看Mage_Core_Model_Config的值。它返回' Mage_Enterprise_Customerbalance_Model_Balance' Magento社区版的价值。没有这样的类,函数Mage::getModel('enterprise_customerbalance/balance')返回false。

您可以尝试使用代码检查版本(如果Magento社区版本> = 1.7,它应该有效) - Mage::getEdition()