【问题标题】:Magento on Order Page: "This customer email already exists"订单页面上的 Magento:“此客户电子邮件已存在”
【发布时间】:2013-02-20 14:13:15
【问题描述】:

我使用一些迁移工具将订单导入 Magento。当回头客尝试下订单时,Magento 阻止他们这样做并说“此客户电子邮件已存在”。尽管他们已经登录到 Magento。

我是否错误地导入/迁移到 Magento 数据库?或者可能是其他什么原因造成的?

非常感谢任何建议。

【问题讨论】:

    标签: magento migration magento-1.6


    【解决方案1】:

    您得到的异常是由客户资源模型的_beforeSave 函数生成的,该函数检查具有给定电子邮件地址的客户是否存在。 检查代码:

        $adapter = $this->_getWriteAdapter();
        $bind = array('email' => $customer->getEmail());
    
        $select = $adapter->select()
            ->from($this->getEntityTable(), array($this->getEntityIdField()))
            ->where('email = :email');
        if ($customer->getSharingConfig()->isWebsiteScope()) {
            $bind['website_id'] = (int)$customer->getWebsiteId();
            $select->where('website_id = :website_id');
        }
        if ($customer->getId()) {
            $bind['entity_id'] = (int)$customer->getId();
            $select->where('entity_id != :entity_id');
        }
        $result = $adapter->fetchOne($select, $bind);
        if ($result) {
            throw Mage::exception(
                'Mage_Customer', Mage::helper('customer')->__('This customer email already exists'),
                Mage_Customer_Model_Customer::EXCEPTION_EMAIL_EXISTS
            );
        }
    

    您的客户已登录,这意味着条件$customer->getId() 为真。但是,由于您遇到了例外情况,我建议您使用相同的电子邮件地址存在重复的客户帐户。

    可能是您的导入工具在客户数据中创建了重复项吗?这是我能想到的唯一原因。使用此查询检查您的数据库:

     select email, count(*) from customer_entity group by email having count(*) > 1
    

    【讨论】:

    • 非常非常有帮助。谢谢!我发现有两封电子邮件有重复的帐户。一个人在不同的商店有账户(我认为这没问题)。另一个是我自己的电子邮件。这是数千个帐户中的一个。不过我很担心,一开始怎么可能创建一个副本?
    • 我做到了,但是在我发表这篇文章之后有一段时间......所以我忘了发布解决方案。我不太记得它最终是如何解决的,但它可能是以下选项之一: - 我可能忘记将新商店中的订单数量设置为我在旧商店中留下的数量 - 我正在运行多商店设置,并且可能已将客户导入错误的商店,或者客户和/或订单之间存在不匹配。不过我不完全确定,很抱歉我不能提供更多帮助。
    • 这些重复的原因是什么?在我自己的 customer_entity 表中看到一些(小百分比)但具有相同的 store_id!
    • 我有同样的问题,但我的客户在不同的组和不同的网站,那为什么会这样?
    • 这不是magento中的错误吗???因为搜索重复项的 select 语句应该区分商店和网站。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2013-01-13
    相关资源
    最近更新 更多