ज्वाइन क्वेरी के साथ मैगेंटो कलेक्शन में ग्रुप का उपयोग कैसे करें


13

मॉड्यूल के व्यवस्थापक ग्रिड में मैं इस कोड का उपयोग संग्रह प्राप्त करने और ग्राहक आईडी द्वारा उन्हें समूह बनाने के लिए कर रहा हूं

$collection = Mage::getModel('referafriend/statistics')->getCollection();
$collection->getSelect()->group('entity_id');
$this->setCollection($collection);

लेकिन यहाँ मुझे ग्राहक जानकारी के लिए रेंडरर और फ़िल्टर फ़ंक्शंस का उपयोग करना होगा जैसे प्रत्येक के खिलाफ नाम और ईमेल entity_id। मैं अपने मॉड्यूल की तालिका के साथ ग्राहक मॉडल में शामिल होना चाहता हूं। इसके लिए मैंने यह कोड लिखा है

 $collection = Mage::getModel('customer/customer')->getCollection()
 ->addNameToSelect();
$collection->getSelect()->join(array('refer' => 'table_name'),'refer.entity_id = e.entity_id'
          ); 
   $collection->getSelect()->group('entity_id'); 
   $collection->addAttributeToSelect('*');

लेकिन यह मुझे यह त्रुटि देता है

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'entity_id' in group statement is ambiguous

किसी भी तरह की सहायता की हम सराहना करेंगे।


1
यह होना चाहिए -> समूह ('e.entity_id');
अमित बेरा

आपको इसे कुछ विवरण के साथ एक उत्तर के रूप में जोड़ना चाहिए कि आपको क्योंe.
जोनाथन हसी

इस मूर्खतापूर्ण गलती के लिए क्षमा करें। @AmitBera आपकी मदद के लिए धन्यवाद और कृपया इसे उत्तर के रूप में जोड़ें ताकि प्रश्न को बंद किया जा सके।
हारिस

जवाबों:


26

आपको तालिका का नाम जोड़ने की आवश्यकता है group by condition। जैसा आपने not added on conditions table nameटेबल समूह ('एंट्री_आईडी') में किया थाquery did not find columns name

 getSelect()->group('e.entity_id');

तर्क है:

$collection->getSelect()->group('TABLE_NAME.FIELD_NAME')

1
व्यसन में, यदि आपको कई क्षेत्रों द्वारा समूह बनाने की आवश्यकता है, तो बस अधिक जोड़ें -> समूह () खंड -> समूह ('फ़ील्ड 1') -> समूह ('फ़ील्ड 2');
ग्रेग

मैं समूह द्वारा उपयोग करके अद्वितीय उत्पाद ऑर्डर करना चाहता हूं। मेरे पास 2 समान ऑर्डर आइटम के साथ 2 ऑर्डर हैं। वर्तमान में, यह ग्रिड में 4 पंक्तियों को प्रदर्शित करता है। लेकिन मुझे समूह के उपयोग से 2-पंक्ति की आवश्यकता है।
धड़क मधेश

अपने कोड साझा करें
अमित बेरा

$collection = $object_manager->create('\Magento\Sales\Model\Order\Item')->getCollection(); $collection->getSelect()->join( ['order' => $this->getTable('sales_order')], 'order.entity_id = main_table.order_id and (if(main_table.parent_item_id IS NULL,main_table.price != 0.0000,main_table.parent_item_id IS NULL))', [ 'order_number' => 'order.increment_id', 'order_store_id' => 'order.store_id', ] );
धादुक मितेश

मैं parent_item_idआदेश वार करके समूह बनाना चाहता हूं ।
धादुक मितेश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.