Найти пользователя в Laravel по имени пользователя
поэтому обычно, если у вас есть доступ к идентификатору пользователя в laravel, вы можете запустить User::find($id), однако скажите, что у вас нет доступа к идентификатору пользователя и только его имени пользователя. Есть ли лучший способ, чем использовать DB::query для поиска пользователя?
Это мое текущее решение, и мне было интересно, может ли кто-то знать лучший способ.
$user_id = DB::table('users')->where('username', $user_input)->first()->id;
3 ответов
да, еще лучше использовать модель. просто такой
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::select('id')->where('username', $username)->first();
$user_id = DB::table('users')->where('username', $user_input)->first();
без "- > id"
проверьте здесь:http://laravel.com/docs/5.0/queries