Обычно, если у вас есть доступ к идентификатору пользователя в 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"