2017-11-03 7 views
2

特定の年齢のユーザーを取得するときにリクエストをしています。しかし、私はデータベースからユーザーを得る方法を知らない。たとえば、ユーザーが19歳の場合、12歳以上のユーザーが必要です。そのユーザーを取得します。彼が20人いるなら - ない。私のコードで助けてくれますか?それは動作しないためです。データベースと炭素の日付を使用して特定の年齢のユーザーを取得する

はここに私のコードです:

if ($request->has('age_from')) 
     { 
      $user = User::with('user_data')->whereHas('user_data', function($query) use ($request) { 
       $birth_date = Carbon::now()->subYears($request->age_from)->toDateString(); 

       return $query->where('date_of_birth', '>=', $birth_date); 
      })->get(); 
     } 
+0

'date_of_birth'は、データベースに格納されてどのように?私たちに例を挙げてもらえますか? – Camilo

+0

@Camilo 1995-02-12(年、月、日) – Programmer

+0

あなたの質問にその情報を追加してください。 – Camilo

答えて

4

あなたがデータベースクエリでシームレスに、CarbonオブジェクトをフォーマットするLaravelとカーボンの仕事を必要としないでください。

$user = User::with('user_data')->whereHas('user_data', function($query) use ($request) { 
    $query->where('date_of_birth', '>=', Carbon::now()->subYears($request->age_from)); 
})->get(); 
+0

$ query-> whereDate( 'date_of_birth'、...トリックをやります – spirit

+0

@Jeffrey私はage_toと同じことをやろうとすると動作しません – Programmer

関連する問題