You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从数据库表'jongeren'中筛选出生日期早于2000年3月27日的学生

解决筛选年满18岁学生的问题

你需要从jongeren表中筛选出出生日期早于2000年3月27日的学生对吧?我来帮你修改模型里的fetch_data方法,实现这个需求。

方法1:硬编码指定日期筛选

如果需求就是固定筛选早于2000-03-27的记录,直接在查询里添加where条件即可。假设你用的是Laravel的查询构造器或者Eloquent模型,修改后的代码如下:

用查询构造器的版本:

public function fetch_data() {
    // 筛选出生日期早于2000年3月27日的学生
    return DB::table('jongeren')
        ->where('geboortedatum', '<', '2000-03-27')
        ->get();
}

用Eloquent模型的版本(假设模型名为Jongeren):

public function fetch_data() {
    return \App\Models\Jongeren::where('geboortedatum', '<', '2000-03-27')->get();
}

方法2:动态计算18年前的日期(更通用)

如果你的需求是始终显示年满18岁的学生,而不是固定某个日期,推荐用Carbon来动态计算18年前的日期,这样不需要每年手动修改代码:

首先确保引入Carbon:

use Carbon\Carbon;

然后修改方法:

public function fetch_data() {
    // 计算当前日期往前推18年的日期
    $eighteenYearsAgo = Carbon::now()->subYears(18)->format('Y-m-d');
    // 筛选出生日期早于等于该日期的学生
    return \App\Models\Jongeren::where('geboortedatum', '<=', $eighteenYearsAgo)->get();
}

补充说明

  • 不管你的geboortedatum字段是date还是datetime类型,MySQL都能正确处理日期比较逻辑。
  • 如果需要排序,可以在查询末尾添加->orderBy('geboortedatum', 'desc')来按出生日期倒序排列。

内容的提问来源于stack exchange,提问作者Jeremy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:25:55