因此,通常如果您有權訪問laravel中的用戶id,則可以運行User :: find($ id),但是說您無權訪問用戶的id,用戶名。有沒有比使用DB ::查詢來定位用戶更好的方法?按用戶名在Laravel中查找用戶
這是我目前的解決方案,想知道如果有人可能知道更好的方法。
$user_id = DB::table('users')->where('username', $user_input)->first()->id;
因此,通常如果您有權訪問laravel中的用戶id,則可以運行User :: find($ id),但是說您無權訪問用戶的id,用戶名。有沒有比使用DB ::查詢來定位用戶更好的方法?按用戶名在Laravel中查找用戶
這是我目前的解決方案,想知道如果有人可能知道更好的方法。
$user_id = DB::table('users')->where('username', $user_input)->first()->id;
是的,甚至更好的使用模型。就像這樣
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();
我有laravel中的問題,請參閱如果您可以回答[link](http://stackoverflow.com/questions/32318866/unable-to-retrieve-data-sent-via-ajax-in-控制器-laravel-5-1) –
$user_id = DB::table('users')->where('username', $user_input)->first();
無 「 - > ID」
我在laravel有一個問題,請看看你是否可以回答[link](http://stackoverflow.com/questions/32318866/unable-to-retrieve-data - 通過阿賈克斯在控制器laravel-5-1) –
@Adamnick,你有沒有得到一個適合你的答案? – mdamia
尚未@mdamia –
這取決於。如果用戶在您登錄可以有你想要的任何信息:
$field = Auth::user()->field;
但是,如果他們沒有登錄,你只是希望自己的user_id你可以使用:
$user_id = User::select('id')->where('username', $username)->first();
是的,我明白使用Auth :: user() - >等等,但我需要找到一個用戶通過他們指定的用戶名沒有他們登錄。感謝您提供替代代碼我一直在使用。我只是想檢查是否有更好或更有效的選擇。再一次,謝謝。 – Brandon
你可以做whereUsername( $ user_input)而不是在哪裏,雖然 – rjdown
可能並沒有真正的區別,也許使用' - > value('id');'?以及代替' - > first() - > id' –