2014-07-07 15 views
9

में उपयोगकर्ता के प्रवेश जाओ मैं कर रहा हूँ:वर्तमान छोड़कर सभी उपयोगकर्ताओं को laravel वाक्पटु

User::all(); 

उपयोगकर्ताओं मेज से सभी उपयोगकर्ताओं के लिए। मैं वर्तमान लॉग इन उपयोगकर्ता को छोड़कर सभी उपयोगकर्ताओं को चुनना चाहता हूं। मैं कैसे करूं? कुछ,

User::where('id','!=',$currentUser->id)->get(); 

अग्रिम धन्यवाद!

उत्तर

15

आप वर्तमान उपयोगकर्ता की आईडी Auth::id() के साथ प्राप्त कर सकते हैं। फिर क्वेरी को पास करें:

$users = User::where('id', '!=', Auth::id())->get(); 
+0

धन्यवाद, कि काम किया। हालांकि मेरे पास उपयोगकर्ता में वर्तमान लॉग इन की आईडी थी, क्योंकि मैं "उपयोगकर्ता" मॉडल में एक फ़ंक्शन लिख रहा हूं। मैंने सवाल पूछने से पहले कोशिश नहीं की, जैसा कि मैंने सोचा था! = काम नहीं करेगा। एक बार फिर धन्यवाद। – Priyanka

3

यदि आप ऑथ सहायक का उपयोग कर रहे हैं, तो इसका उपयोग करें।

User::where('id', '!=', Auth::user()->id)->get(); 
22

except() का उपयोग करते हुए एक ही बात को थोड़ा और धाराप्रवाह पूरा होगा:

$users = User::all()->except(Auth::id()); 

... या, क्योंकि आप पहले से ही उपयोगकर्ता आईडी:

$users = User::all()->except($currentUser->id); 
+3

बहुत बढ़िया! आईडी की एक सरणी के साथ-साथ 'उपयोगकर्ता :: सभी() -> को छोड़कर ([1,2,3,4]);' चीयर्स :) यह वर्तमान एपीआई के तहत सबसे अच्छा जवाब होने के लिए अपडेट किया जाना चाहिए। – mtpultz

+0

@damiani धन्यवाद –

+0

स्पष्ट होने के लिए: यह वर्तमान उपयोगकर्ता को डीबी से भी लाता है, जो अनावश्यक है। –

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