Laravel Eloquent Birthdays查询仅根据日期和月份获取日期列

问题描述 投票:2回答:1

我在mysql中有一个qazxsw poi列,其中包含mysql qazxsw poi格式的出生日期:

date()

我正在尝试查询此表,以便列出从今天到下一个7天生日的所有用户。我现在有类似的东西:

YYYY-MM-DD

上述查询的问题在于它只列出了具有DOB的用户,该用户只有今年的确切日期才是正确的。我真正想要的是通过仅匹配“日期”和“月份”并忽略“年份”来列出具有生日的用户而不管他们出生的年份。

我不知道如何实现这一目标。请有人帮帮我...

date laravel eloquent laravel-5.1 dob
1个回答
4
投票

在我发布问题后不久,我尝试了一种使用$table->date('dob')->nullable(); SQL函数的原始查询的方法。所以这就是我现在所拥有的似乎是通过让用户在接下来的7天内生日而不管年份如何工作:

$date = new Carbon;
$today = $date->format('Y-m-d');
$futureDays = $date->addDays(7)->format('Y-m-d');

$birthdays = SiteUsers::where('dob', '>=', $today)
                        ->where('dob', '<=', $futureDays)
                        ->orderBy('dob', 'ASC')
                        ->get();

请享用

© www.soinside.com 2019 - 2024. All rights reserved.