2013-07-12 15 views
26

लार्वेल का उपयोग करके और मैं एक फॉर्म पर एक चयन बॉक्स बना रहा हूं। मैं चयन बॉक्स बनाने के लिए सहायक का उपयोग कर रहा हूं और सब ठीक काम कर रहे हैं।लार्वेल eloquent सूचियां - कॉलम मानों की एक सूची छंटनी

मैं एक डेटाबेस से सलेक्ट बॉक्स के लिए डेटा पुनः प्राप्त और डेटा पुनः प्राप्त करने के लिए निम्न का उपयोग करें:

$data = model::lists('name','id') 

फिर सब ठीक काम करता है और यह उम्मीद सरणी देता है

मेरे समस्या हालांकि मैं है इस सूची को सॉर्ट करने के लिए प्रतीत नहीं हो सकता है - मैंने ऑर्डरबी() को जोड़ने का प्रयास किया है लेकिन कोई खुशी नहीं है।

देशी php फ़ंक्शन का उपयोग करने के अलावा कोई सूची क्रमबद्ध करने के लिए एक लार्वा तरीका है?

+0

महान प्रश्न:


Laravel संस्करण 5.3lists से शुरू, पदावनत होना बजाय pluck उपयोग करने के लिए जा रहा है। आम तौर पर लैरवेल के साथ चयन करने के लिए एक सरणी बनाने के लिए क्वेरी पर कहां है, आदि डालने की आवश्यकता है। –

उत्तर

63

आप जो चाहो डाल सकते हैं, और फिर इसे सूची। मेरा मतलब है:

model::orderBy('orderByColumn')->lists('name', 'id'); 

जब तक lists श्रृंखला में पिछले तरीका है के रूप में, अन्य तरीकों बस ठीक काम करता है।

model::orderBy('orderByColumn')->pluck('name', 'id'); 
+1

की आवश्यकता थी, आप सरणी प्राप्त करने के बाद php सरणी सॉर्टिंग का भी उपयोग कर सकते हैं [PHP: सॉर्टिंग सरणी] (http://es1.php.net/manual/en/array.sorting.php) –

+0

उत्कृष्ट - धन्यवाद। मैं सूचियों के बाद आदेश देने की कोशिश कर रहा था। मैंने इन कार्यों के आदेश को महसूस नहीं किया था। धन्यवाद फिर से – Ray

+0

धन्यवाद, धन्यवाद, धन्यवाद @ umut-sirin। डेट्रायट से बहुत प्यार! –

4

आप कोशिश कर सकते हैं:

$data = model::select('name','id')->orderBy('name'); 

यदि वह काम नहीं करता है, सिरे पर एक ->get() टॉस:

$data = model::select('name','id')->orderBy('name')->get(); 
+0

हाय - मैंने यह भी कोशिश की लेकिन एचटीएमएल चुनिंदा सहायक में ऑब्जेक्ट को लागू करने के लिए संघर्ष किया गया जिसके लिए डेटा का इरादा था। परिणाम सही था लेकिन लागू नहीं कर सका। सूचियां आसान थीं क्योंकि इसमें सटीक डेटा था जिसमें मुझे – Ray

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