网站首页 / 资讯 / Magento文档

M2奇葩问题记录3:站点搜索及部分产品页面/部分分类页面报错解决方案

作者:admin

问题描述:

Exception #0 (Exception): Item (Magento\Catalog\Model\Product\Interceptor) with the same ID "****" already exists.

这是产品页面的报错,分类页面也有类似的问题,依据报错的内容,猜测问题部分,数据库部分数据重复,URL _REWRITE重复及其它可能问题。

此问题报错位置:

vendor/magento/framework/Data/Collection.php

代码内容为

 public function addItem(\Magento\Framework\DataObject $item)
    {
        $itemId = $this->_getItemId($item);

        if ($itemId !== null) {
            if (isset($this->_items[$itemId])) {
                throw new \Exception(
                    'Item (' . get_class($item) . ') with the same ID "' . $item->getId() . '" already exists.'
               );
            }
            $this->_items[$itemId] = $item;
        } else {
            $this->_addItem($item);
        }
        return $this;
    }

尝试进行的解决方法:

先查看产品表,分类产品数据表中是否有此ID的数据重复,整库搜索此 ID,图示ID为 7443则查找7443,

会自动列出有此数据的表,分析数据,删除重复的,清空VAR再试。

重点照顾的表头 catalog_

,仔细查看

catalog_product_entity

cataloginventory_stock_item

是否有数据重复,有则删除,没有不用理会。如果是多站点那么这些表的website_id是否与后台的对应,不对应则有问题,这里可能还有单个站点的情况。理论上可以清空

cataloginventory_stock_item

不过在清空先记得先备份,这里可以通过 

indexer:reindex

再次生成

问题依旧,继续...


作者设置此篇文章部分内容需要付费才可阅读!

已了解收费,继续阅读全文

标签: magento奇葩问题 magento奇怪问题 magento2 (Magento\Catalog\Model\Product\Interceptor) with the same ID magento2 with the same ID
上一篇:M2奇葩问题记录2:checkout结账时出现Customer has no active cart
下一篇:没有了

相关内容

最近更新
相关产品
综合服务邮箱: magento2#foxmail.com