使用数据库和碳中的日期获取具有特定年龄的用户

时间:2017-11-03 18:51:56

标签: php laravel

当我想要获得特定年龄的用户时,我正在做请求。但我不知道如何从数据库中获取用户。例如,如果用户有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();
        }

1 个答案:

答案 0 :(得分:4)

您不需要格式化Carbon对象,Laravel和Carbon在数据库查询中无缝工作:

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