Normalde, bu verilerdeki veya toplama uygulamasındaki bir hatadır.
İşte daha geniş bir soruna bir çözüm. Bu, sadece toplama için değil, rastgele toplama üzerinde çalışır Catalog_Model_Product
.
Adım 1. Değiştir çekirdek dosyası lib/Varien/Data/Collection.php
, function addItem()
fakat aksine bu cevabı da anlaşılacağı hatayı gizlemek değildir.
Bunun yerine, atılan istisnaya ek hata bilgileri ekleyin:
if (isset($this->_items[$itemId])) {
throw new Exception('Item ('.get_class($item).
') with the same id "'.$item->getId().'" already exist' .
'. SQL that caused this: ' . $this->getSelect());
}
Adım 2. Sorunlu sorguyu hata raporunuzdan alın ve elle çalıştırın. Hangi kayıtların toplama anahtarını kopyaladığını görün. order by <key field>
Gerektiği gibi ekleyin .
Katılan tabloları tek tek kaldırarak sorguyu inceleyin ve çoğaltmaya hangi kaydın neden olduğunu görün.
Bu yamanın özünde olması gerektiğine inanıyorum.
group by
Yalnızca benzersiz ürün kimliği almak için kullanmanız gerekir . Bkz. Magento.stackexchange.com/questions/12773/…