Функция Intval в красноречивом запросе Laravel

Я делаю сценарий фильтра. Пользователь напишите age_to, и я получу пользователей с максимальным возрастом. Проблема в том, что в моей таблице пользователей указана только полная дата рождения. Как я могу получить все данные? Я думаю, что функция intval хороша, но я не знаю, как использовать ее в запросе MySQL.

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

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

0

Решение

Intval, вероятно, не будет делать то, что вы хотите, но Carbon может. Так как вы идете на возраст, то используйте установщики даты Carbon:

$birth_date = Carbon::now()->subYears($request->age_from)->toDateString(); // Sets the birth date to today's date minus the requested years

Тогда вы можете использовать его в своем запросе:

$user = User::with('user_x')->whereHas('user_x', function($query) use ($birth_date) {
return $query->where('date_of_birth', '<=',$birth_date);
})->get();
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector