Почему возрастной фильтр не фильтрует возраст, используя sql запрос в laravel? - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу запросить список лиц по возрасту.Затем запрос вычислит возраст по столбцу lahir_yy (значение года рождения) и выполнит поиск по списку.

   $newitem = DB::table('itemregistrations')
                ->when(request('age'), function($query){
                    $query->whereRaw('YEAR(CURDATE()) - lahir_yy >= ?', [request('age')]);})
   ->get(); 

Однако код не работает.Это не фильтрует возраст, но не дает ошибок.

1 Ответ

0 голосов
/ 24 декабря 2018

Попробуйте с небольшим изменением.Отправить request('age') в закрытии.Надеюсь, это сработает.

$newitem = DB::table('itemregistrations')
            ->when(request('age'), function($query){
                return $query->whereRaw('YEAR(CURDATE()) - lahir_yy >= ?', [request('age')]);})
->get(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...