我有一个表格,其中包含名字,姓氏和当然年龄,其中年龄值将自动填充,因为我在控制器中有一个功能,可以根据日期生日和当前年份计算年龄。现在我想获取数据基于查询的动态查询表,以年龄为参数
在数据库中,我有一个包含类似字段的人员表
name lastname age
john simons 40
olivia newtin 100
sylvia gay 390
现在我想让那些年龄从40岁到100岁的人。当然我期待着约翰·西蒙斯和奥利维亚·纽丁将是返回的价值。但我得到了无效。你会如何解决这个问题?
控制器
public function getAllPeopleByThisAge()
{
//query to repository
$min = 40;
$max = 100
$somereturn = $this->student->getAllPeopleByThisAge($min, $max);
}
现在我的存储库中的某个地方
public function getAllPeopleByThisAge($min,$max)
{
$this->people = DB::table('students')
->select('students.age')
->whereBetween('age',[$min, $max])
->get();
}
我的数据库显示年龄保存为integer.e.g 15,20,100,70 .....
的列答案 0 :(得分:0)
当您致电select('students.age')
时,它会返回一个用户年龄列表,然后您致电->whereBetween('age',[$min, $max])->get();
,当然它会返回null
,因为您的字段age
没有select('students.age')
的查询结果。尝试删除select('students.age')
并在此之后保留所有内容,
DB::table('students')->whereBetween('age',[$min, $max])->get();