आम तौर पर, यह डेटा में या संग्रह कार्यान्वयन में एक बग है।
यहाँ एक व्यापक मुद्दे का समाधान है। यह मनमाने संग्रह पर काम करता है, न केवल के लिए Catalog_Model_Product
।
चरण 1. संशोधित मूल फ़ाइल lib/Varien/Data/Collection.php
, function addItem()
, लेकिन विपरीत इस जवाब से पता चलता है, त्रुटि को छिपाने के नहीं है।
इसके बजाय, फेंके गए अपवाद में अतिरिक्त त्रुटि जानकारी जोड़ें:
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());
}
चरण 2. अपनी त्रुटि रिपोर्ट से आपत्तिजनक क्वेरी लें और इसे हाथ से चलाएं। देखें कि संग्रह कुंजी को कौन से रिकॉर्ड डुप्लिकेट करते हैं। order by <key field>
आवश्यकतानुसार जोड़ें ।
भाग लेने वाली तालिकाओं को एक-एक करके क्वेरी को अलग करें, और देखें कि कौन सा रिकॉर्ड दोहराव का कारण बना।
मेरा मानना है कि यह पैच कोर में होना चाहिए।
group by
केवल विशिष्ट उत्पाद आईडी प्राप्त करने के लिए उपयोग करने की आवश्यकता है । देखें Magento.stackexchange.com/questions/12773/…