Найти пользователя в Laravel по имени пользователя

Обычно, если у вас есть доступ к идентификатору пользователя в laravel, вы можете запустить User :: find ($ id), однако, скажите, что у вас нет доступа к идентификатору пользователя и только по имени пользователя. Есть ли лучший способ, чем использовать DB :: query для поиска пользователя?

Это мое текущее решение, и мне было интересно, знает ли кто-нибудь лучший способ.

$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(); 

Это зависит. Если пользователь вошел в систему, вы можете получить любую необходимую информацию:

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

Но если они не вошли в систему, и вы просто хотите их user_id, вы можете использовать:

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

без "-> id"

здесь: http://laravel.com/docs/5.0/queries