2015-12-21 18 views
30

मैं अपनी परियोजना L5.1 -> L5.2 को अपग्रेड करने का प्रयास कर रहा हूं।लार्वेल 5.2 - प्लक() विधि रिटर्न सरणी

संग्रह, क्वेरी बिल्डर और सुवक्ता क्वेरी बिल्डर वस्तुओं पर lists विधि pluck को नाम दिया गया है: upgrade guide में एक बात जो मेरे लिए स्पष्ट नहीं है नहीं है। विधि हस्ताक्षर वही रहता है।

ठीक है, lists() से pluck() को refactoting का नाम बदलने के लिए एक समस्या नहीं है। लेकिन उपयोगी pluck() विधि जो L5.0 और L5.1 में थी?

5.0 documentation से

:

एक पंक्ति

$name = DB::table('users')->where('name', 'John')->pluck('name'); 

L5.2 में वर्ष pluck() विधि के लिए विकल्प क्या है से एक एकल स्तंभ प्राप्त कर रहा है?

अद्यतन:

उदाहरण:

var_dump(DB::table('users')->where('id', 1)->pluck('id')); 

L5.1:

// int(1) 

L5.2:

// array(1) { [0]=> int(1) } 
+8

हाँ, यह बहुत भ्रामक है। 5.0 में, 'pluck() 'का अर्थ पंक्ति से 1 फ़ील्ड का चयन करना था। फिर 5.1 में, उन्होंने 'प्लक() 'हटा दिया और इसे' मान()' के साथ बदल दिया। फिर 5.2 में, वे 'सूचियों()' को प्रतिस्थापित करते हैं, जो 'प्लक() 'के साथ पूरे कॉलम को लौटाते हैं। तो यदि आप 4.2 के आसपास से हैं, तो आप भ्रमित हो सकते हैं:/ –

उत्तर

46

वर्तमान Alte pluck() के लिए rnative value() है।

+2

धन्यवाद! यह पूरी तरह अपग्रेड गाइड में होना चाहिए क्योंकि यह ब्रेकिंग चेंज है। –

+2

मुझे लगता है कि यह 5.1 के लिए अपग्रेड गाइड में है: http://laravel.com/docs/5.2/upgrade#upgrade-5.1.0 मेरा बुरा मैंने पिछली रिलीज में इस बदलाव को नहीं पकड़ा। –

+0

वास्तव में इस परिवर्तन के बारे में नोटिस है: "वालोकेंट संग्रह उदाहरण अब निम्न विधियों के लिए एक बेस संग्रह (' रोशनी \ समर्थन \ संग्रह') देता है: 'pluck', ... " –

-2

मूल उदाहरण में, अपने डेटाबेस क्वेरी में चयन() विधि का उपयोग क्यों न करें?

$name = DB::table('users')->where('name', 'John')->select("id"); 

यह एक PHP ढांचे का उपयोग करने से तेज़ होगा, क्योंकि यह आपके लिए पंक्ति चयन करने के लिए SQL क्वेरी का उपयोग करेगा। साधारण संग्रह के लिए, मैं इस पर लागू होता है पर विश्वास नहीं है, लेकिन जब से तुम एक डेटाबेस का उपयोग कर रहे हैं ...

Larvel 5.3: Specifying a Select Clause

+0

जोड़ने की आवश्यकता है -> get() ; आपको अभी भी सरणी –

+0

प्रारूपित करने के लिए PHP का उपयोग करने की आवश्यकता है Php ऑपरेशंस MySQL प्रश्नों से बहुत तेज हैं। –

+0

@ अंकित बल्याण क्या आप व्यंग्यात्मक हैं? mysql php से बहुत तेज है। प्रत्येक में दस लाख पंक्तियों को संसाधित करने का प्रयास करें ... –

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