आप वास्तव में इसे सही तरीके से कर रहे हैं। हालांकि, चूंकि Magento ईएवी का उपयोग करता है, इसे प्रदर्शन में मदद के लिए चाल लागू करने की आवश्यकता है।
इन चालों में से एक समय अंतिम SQL स्ट्रिंग बनाने के लिए उपयोग किया जाने वाला समय है। आम तौर पर यह आखिरी मिनट में आलसी रूप से लोड होता है और यह तब तक नहीं है जब तक आप वास्तव में इंगित नहीं करते कि आप संग्रह के डेटा तक पहुंचना चाहते हैं, ताकि आप संग्रह का उत्पादन करने के लिए उपयोग किए गए पूर्ण SQL को देख सकें। उदाहरण के लिए अपना कोड चलाना, लेकिन संग्रह को वास्तव में निर्माण और लोड करने के लिए Magento को संकेत देना, अपेक्षित आउटपुट उत्पन्न करता है।
$attributes = Mage::getResourceModel('eav/entity_attribute_collection')
->setOrder('attribute_id');
$attributes->count(); // forces the collection to load
echo $attributes->getSelect()->assemble();
यह एसक्यूएल में परिणाम:
SELECT `main_table`.* FROM `eav_attribute` AS `main_table` ORDER BY attribute_id DESC
तो तुम सही रास्ते पर थे, बस Magento अपने स्तर सबसे अच्छा आप भ्रमित करने के लिए कर रहा था। यह उस पर बहुत अच्छा है।
स्रोत
2011-01-26 11:05:57
स्पष्टीकरण के लिए धन्यवाद है! जानना बहुत अच्छा है! :) – powtac
'setOrder()' परिणाम 'desc' क्रम में परिणाम। क्या इसे 'आरोही' बनाने का कोई तरीका है? –
-> setOrder ('attribute_id', 'asc'); –