2015-08-21 5 views
8

द्वारा लार्वेल में उपयोगकर्ता ढूंढें तो आम तौर पर यदि आपके पास लार्वेल में किसी उपयोगकर्ता की आईडी तक पहुंच है तो आप उपयोगकर्ता :: ढूंढ ($ आईडी) चला सकते हैं, हालांकि कहें कि आपके पास उपयोगकर्ता की आईडी तक पहुंच नहीं है और केवल उनका उपयोगकर्ता नाम। उपयोगकर्ता का पता लगाने के लिए डीबी :: क्वेरी का उपयोग करने से बेहतर तरीका है?उपयोगकर्ता नाम

यह मेरा वर्तमान समाधान है और यह सोच रहा था कि कोई संभवतः बेहतर तरीका जानता है।

$user_id = DB::table('users')->where('username', $user_input)->first()->id; 
+1

आप whereUsername कर सकते हैं ($ user_input) जहां से, यह वास्तव में बहुत अंतर नहीं है हालांकि – rjdown

+1

शायद '-> मान ('id') का उपयोग करें;'? साथ ही '-> पहले() -> id' –

उत्तर

20

हाँ, और भी बेहतर मॉडल का उपयोग। इस तरह

User::where('username','John') -> first(); 
// or use like 
User::where('username','like','%John%') -> first(); 
User::where('username','like','%John') -> first(); 
User::where('username','like','Jo%') -> first(); 
+0

मुझे लार्वेल में कोई समस्या है कृपया देखें कि क्या आप [link] का जवाब दे सकते हैं (http://stackoverflow.com/questions/32318866/unable-to-retrieve-data-sent-via-ajax-in- नियंत्रक-लार्वेल -5-1) –

0
$user_id = DB::table('users')->where('username', $user_input)->first(); 

बिना "-> आईडी"

जांच यहाँ: http://laravel.com/docs/5.0/queries

+0

की बजाय मुझे लार्वेल में कोई समस्या है कृपया देखें कि क्या आप [link] का उत्तर दे सकते हैं (http://stackoverflow.com/questions/32318866/unable-to-retrieve-data -सेंट-थ्रू-एजेक्स-इन-कंट्रोलर-लार्वेल -5-1) –

+0

@ एडमिक, क्या आपको एक उत्तर मिला जो आपके लिए काम करता था? – mdamia

+0

अभी तक @mdamia –

4

यह निर्भर करता है। एक उपयोगकर्ता आप लॉग इन किया जाता है तो किसी भी जानकारी से करना चाहते हैं कर सकते हैं:

$field = Auth::user()->field; 

लेकिन अगर वे में लॉग इन नहीं कर रहे हैं और आप सिर्फ अपने user_id आप उपयोग कर सकते हैं:

$user_id = User::select('id')->where('username', $username)->first(); 
+0

हाँ, मैं Auth :: उपयोगकर्ता() -> blah का उपयोग करके समझता हूं, लेकिन मुझे उपयोगकर्ता को उनके निर्दिष्ट उपयोगकर्ता नाम से लॉग इन किए बिना खोजने की आवश्यकता है। कोड को वैकल्पिक प्रदान करने के लिए धन्यवाद मैं इस्तेमाल कर रहा था। मैं सिर्फ यह जांचना चाहता था कि कोई बेहतर या अधिक कुशल विकल्प था या नहीं। एक बार फिर, धन्यवाद। – Brandon

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