I am doing requests when I want to get users with specific age. But I do not know how to get users from database. For example if user has 19 yo, I want users from age 12 - I get that user. If he has 20 - not. Can you help me with my code? Because it doesn't work.
Here's my code:
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();
}
You shouldn't need to format the Carbon
object, Laravel and Carbon work seamlessly in database queries:
$user = User::with('user_data')->whereHas('user_data', function($query) use ($request) {
$query->where('date_of_birth', '>=', Carbon::now()->subYears($request->age_from));
})->get();