Date Laravel Elount Birthdays查询仅基于日期和月份获取日期列
我在mysql中有一个Date Laravel Elount Birthdays查询仅基于日期和月份获取日期列,date,laravel,eloquent,laravel-5.1,dob,Date,Laravel,Eloquent,Laravel 5.1,Dob,我在mysql中有一个date()列,其出生日期为mysql的YYYY-MM-DD格式: $table->date('dob')->nullable(); 我正在尝试查询此表,以便它列出从今天到未来7天所有过生日的用户。我现在有这样的事情: $date = new Carbon; $today = $date->format('Y-m-d'); $futureDays = $date->addDays(7)->format('Y-m-d'); $birthday
date()
列,其出生日期为mysql的YYYY-MM-DD
格式:
$table->date('dob')->nullable();
我正在尝试查询此表,以便它列出从今天到未来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();
$date=新碳;
$today=$date->format('Y-m-d');
$futureDays=$date->addDays(7)->格式('Y-m-d');
$birthdays=SiteUsers::where('dob','>=',$today)
->其中('dob','在我发布问题后不久,我尝试了一种使用原始查询的方法,该查询使用DateOfYear()
SQL函数。因此,我现在的方法似乎是通过让用户在接下来的7天内不分年份地过生日来实现的:
$birthdays = SiteUsers::whereRaw('DAYOFYEAR(curdate()) <= DAYOFYEAR(dob) AND DAYOFYEAR(curdate()) + 7 >= dayofyear(dob)')
->orderByRaw('DAYOFYEAR(dob)')
->get();
$birthdays=SiteUsers::whereRaw('DAYOFYEAR(curdate())=DAYOFYEAR(dob)'
->orderByRaw('DAYOF YEAR(dob)'
->get();
享受