web-dev-qa-db-ja.com

Laravel=ユーザー名でユーザーを検索

したがって、通常laravelでユーザーのIDにアクセスできる場合、User :: find($ id)を実行できますが、ユーザーのIDにはアクセスできず、ユーザー名:DB :: queryを使用してユーザーを見つけるよりも良い方法はありますか?

これは私の現在の解決策であり、誰かがもっと良い方法を知っているのではないかと考えていました。

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

はい、モデルを使用するとさらに良いです。ちょうどこのような

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();
31
mdamia

場合によります。ユーザーがログインしている場合、次の方法で必要な情報を取得できます。

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

ただし、ログインしていない場合にuser_idが必要な場合は、次を使用できます。

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

「-> id」なし

ここで確認してください: http://laravel.com/docs/5.0/queries

0
Angel M.