2013-08-14 5 views
10

मैं उत्पादों के साथ एक कस्टम संकलन में शामिल होने के उत्पाद का नाम (न सिर्फ आईडी) व्यवस्थापक ग्रिड विजेट में दिखाने के लिए कोशिश कर रहा हूँ। अब तक मुझे सही वाक्यविन्यास नहीं मिल रहा है।Magento में संग्रह कैसे शामिल करें?

मैं का पालन करते हुए उत्पाद नाम के साथ उत्पादों को पुनः प्राप्त करने में सक्षम हूँ:

दाना :: getModel ('सूची/उत्पाद') -> getCollection() -> addAttributeToSelect ('नाम');

और मैं के साथ अपने कस्टम संग्रह प्राप्त कर सकते हैं:

दाना :: getResourceModel ('xyz_mymodule/model_collection');

मैं कैसे शामिल होऊं दो ताकि मॉड्यूल संग्रह प्राथमिक संग्रहण और आईडी के रूप में $ मॉडल> ​​getId (द्वारा दिया) है अभी भी अपने कस्टम संग्रह का आईडी है?

उत्तर

22

यहाँ आप एक काम कर उदाहरण है:

$collection = Mage::getModel('sales/order')->getCollection(); 
$collection->getSelect()->join(array('order_item'=> sales_flat_order_item), 'order_item.order_id = main_table.entity_id', array('order_item.sku')); 

नमस्ते, आशा है कि यह मदद करता है।

+0

कि सिर्फ काम के रूप में मैं जरूरत एक बार मैं में मेरी टेबल डाल मैं प्रयोग किया है:। – user2683224

+2

$ COLLECTION-> getSelect() -> (सरणी में शामिल होने के (' उत्पाद '=>' catalog_product_flat_1 '), \t \t \t \t \t \t \t \t \t \t \t \t' product.entity_id = main_table.produ ct_fk ', \t \t \t \t \t \t \t \t \t \t \t सरणी (' * ', \t \t \t \t \t \t \t \t \t \t \t \t "PRODUCT_NAME" => "product.name", \t \t \t \t \t \t \t \t \t \t \t \t "container_name" => "main_table।नाम ", \t \t \t \t \t \t \t \t \t \t \t \t) \t \t \t \t \t \t \t \t \t \t \t \t);? – user2683224

+0

बिल्कुल सही, खुशी है कि पता करने के लिए उस में –

1

बस एक त्वरित सुधार मैं तालिका नाम पर उद्धरण जोड़ने के लिए किया था: तीसरा तर्क के रूप में विशेषता सूची है सरणी ('order_item' =>'sales_flat_order_item'), इसके अलावा getSelect() आवश्यक नहीं है। अंतिम तर्क उस प्रकार के प्रकार को निर्दिष्ट करता है जिसका आप उपयोग करना चाहते हैं।

मेरे संस्करण इस तरह देखा:


$collection = Mage::getResourceModel($this->_getCollectionClass()); 
$collection->join(array('order'=> 'sales/order'),'order.entity_id=main_table.entity_id', array('po_number'=>'po_number', 'imi_customer_email' =>'imi_customer_email'), null,'left'); 
$this->setCollection($collection);` 
+0

धन्यवाद, मैं उन उद्धरणों को याद किया :) –

संबंधित मुद्दे