【发布时间】:2018-12-24 18:39:38
【问题描述】:
我想根据年龄查询人员列表。然后,查询将使用 lahir_yy 列(出生年份值)计算年龄并搜索列表。
$newitem = DB::table('itemregistrations')
->when(request('age'), function($query){
$query->whereRaw('YEAR(CURDATE()) - lahir_yy >= ?', [request('age')]);})
->get();
但是,代码不起作用。它不过滤年龄但不报错。
【问题讨论】:
-
request('age')不会抛出错误?另外,闭包函数的闭包}在哪里? -
它不会抛出任何错误..我已经更新了问题,留下了要复制的闭括号。
-
添加这个 ->select(['*', DB::raw('YEAR(CURDATE()) - lahir_yy as age')]),并附上
dd($newitem)的结果。跨度> -
抱歉回复晚了..离开一段时间..我试过上面的代码,它在数组列表中添加了年龄。
-
谢谢 IndianCoding,我已经尝试过并再次检查代码..我只是注意到年龄文本字段的变量不同..一旦我更改了它,您的代码运行良好...谢谢非常抱歉之前没有注意到这些错误。