したがって、通常laravelでユーザーのIDにアクセスできる場合、User :: find($ id)を実行できますが、ユーザーの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