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