यहां केकेपीएचपी 2.0 का उपयोग करना। शीर्षक थोड़ा भ्रामक है, इसलिए चीजों को साफ़ करने के लिए - मेरे पास सत्र सरणी है जो उत्पादों के आईडी के साथ आबादी है क्योंकि उपयोगकर्ता उन्हें कार्ट में जोड़ता है। तो यह सरणी [0] => 25, [1] => 70 आदि की तरह जाती है मान लें कि इस सरणी को $ उत्पादों कहा जाता है।इसके प्रारंभिक अवस्था को संरक्षित करने के लिए सरणी को कैसे क्रमबद्ध करें
मैं जो पूछना चाहता हूं वह है कि मुझे 'खोज' मॉडल के फ़ंक्शन ('स्थितियां' => सरणी ('product.id' => $ उत्पादों) का उपयोग करके प्राप्त होने वाली सरणी रखने की कुछ संभावना है। Model.field मानों में से कुछ (जैसे 'ऑर्डर' विकल्प में), लेकिन $ उत्पादों सरणी इंडेक्स द्वारा, ताकि जब मैं उत्पादों की सामग्री को प्रस्तुत करता हूं तो मुझे उन सभी उत्पादों को कार्ट में क्रमबद्ध किया जाएगा जैसे उपयोगकर्ता उन्हें जोड़ रहे थे ।
यहाँ एक उदाहरण है - सत्र सरणी $ उत्पादों:
[0] => 35,
[1] => 15,
[2] => 25
तो मैं खोज समारोह की शर्तों को यह सरणी पारित:
$list = $this->Product->find('all', array('conditions' => array('Product.id' => $products)));
अंत $ सूची में मुझे सरणी जो के अनुसार क्रमबद्ध देता है उत्पाद आइ डि। तो होने के बजाय:
[0] => Array
(
[Product] => Array
(
[id] => 35)),
[1] => Array
(
[Product] => Array
(
[id] => 15)),
[2] => Array
(
[Product] => Array
(
[id] => 25))
मैं:
[0] => Array
(
[Product] => Array
(
[id] => 15)),
[1] => Array
(
[Product] => Array
(
[id] => 25)),
[2] => Array
(
[Product] => Array
(
[id] => 35))
अब तक सभी जवाब मेरी समस्या का समाधान नहीं है। कृपया, मैंने जो उदाहरण दिया है, उस पर ध्यान दें, यह बहुत आसान है, लेकिन प्रदान किए गए उत्तरों अलग-अलग कुंजी में हैं।
फिर से, मैं अंतिम सरणी $ सूची की आवश्यकता सत्र सरणी $ उत्पादों के सूचकांकों के अनुसार क्रमबद्ध किया जाना है, लेकिन मैं $ सूची Product.id क्षेत्र के अनुसार क्रमबद्ध मिलता है, भले ही मैं किसी भी 'find(array('order'=> ...))'
निर्दिष्ट नहीं किया है बिल्कुल भी और इसे झूठी पर सेट करने की कोशिश की।
सवाल नहीं समझ सकता, लेकिन मैं इस मदद मिल सकती है लगता है ... आप अपनी आरंभिक अवस्था संरक्षण एक सरणी क्रमबद्ध नहीं कर सकते (क्योंकि यह आपको ऑर्डर कर रहा है), लेकिन आप इसे दो बार स्टोर कर सकते हैं या इससे भी बेहतर आप सरणी के इंडेक्स को अपने शुरुआती राज्य में स्टोर कर सकते हैं, ताकि आप जब भी चाहें सरणी को अपने शुरुआती राज्य (या वाइसवर्सा) में ऑर्डर कर सकें। $itial_state_indexes = array_keys ($ the_array); –
सहमत हैं, प्रश्न थोड़ा अस्पष्ट है ... कोड के साथ अपने बिंदु को स्पष्ट करने का प्रयास करें या किसी भिन्न कोण से – mseancole
पर आ रहा है, मैं बिल्कुल 'ऑर्डर' का उपयोग नहीं कर रहा हूं।जैसा कि मैंने कहा, सत्र सरणी उत्पादों में उत्पादों के आईडी शामिल हैं जिनमें सूचकांक ([0] और इसी तरह से) उपयोगकर्ता द्वारा जोड़े गए उत्पादों के अनुक्रम का प्रतिनिधित्व करते हैं। –