首页 > 解决方案 > 使用表中的用户出生日期列按年龄获取用户

问题描述

简短的:

我的表中有用户birthdateusers。用户生日有一个默认的日期格式:Y-m-d。另外,我有自定义突变器来获取User模型中的用户年龄。

突变代码:

public function getAgeAttribute($value) {
    if($this->birthday !== null) {
        $bday = new \DateTime("{$this->birthday}");
        $today = new \Datetime(date('Y-m-d'));
        $diff = $today->diff($bday);

        return $diff->y;
    }

    return null;
}

问题:

如何使用模型按年龄获取用户?User

标签: laraveleloquentlaravel-5.7

解决方案


只需取今天的日期并减去年数。然后将其与生日进行比较

Users::where('birthday', '<=', date('Y-m-d', strtotime('-20 years')))->get();

推荐阅读