आईडी के की एक सरणी का उपयोग करके एक Magento संग्रह फ़िल्टर करना संभव है लेकिन में फ़िल्टर के पास आईडी के आदेश द्वारा क्रमबद्ध संग्रह परिणाम हैं।Magento - संग्रह द्वारा फ़िल्टर फ़िल्टर करें
उदाहरण के लिए:
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('entity_id', array(
'in' => array(1, 3, 2),
));
मैं क्रम में उत्पादों के लिए संग्रह चाहते हैं, 1,3,2 इसलिए जब संग्रह वे इसी विशिष्ट क्रम में बाहर आने के माध्यम से पाशन के रूप में?
$productIds = array(1,3,2);
$collection = array();
foreach($productIds as $productId) {
$collection[] = Mage::getModel('catalog/product')->load($productId);
}
यह स्पष्ट रूप से काम करता है लेकिन यह करने के लिए एक बदसूरत रास्ते की तरह लगता है:
एकमात्र विकल्प मैं वर्तमान में मैन्युअल रूप से उत्पादों की एक सरणी बनाने के लिए है।
क्या यह पूरी तरह से Magento संग्रह के माध्यम से ऐसा करने का कोई तरीका है?
हाय गेर्शोन है, इस सवाल का जवाब के लिए धन्यवाद। यह विशेषता ToSort के संबंध में समझ में आता है लेकिन समस्या यह है कि उपरोक्त addAttributeToFilter उदाहरण केवल एक उदाहरण है, सरणी में तत्वों की मनमानी संख्या हो सकती है। मुझे लगता है कि मैं प्रत्येक तत्व पर लूप कर सकता हूं और addAttributeToSort पर कॉल कर सकता हूं लेकिन फिर उस क्षेत्र में प्रवेश कर रहा हूं जहां मैंने लूप के साथ एक सरणी –