如何让用户在 Laravel 今天过生日?
How to get users having birthday today in Laravel?
我需要在我的应用程序中向用户发送生日祝福。
我有一个 table 用户,其列为 dateOfBirth。我需要一个查询来检索出生日期与今天匹配的用户。
例如,如果用户的出生日期值为 1983-08-07,我必须向用户发送生日祝福。
我使用了下面的代码,但给出的是空值,此查询没有任何结果。
public function today(Request $request)
{
$today = Carbon::now();
$date = today();
$user = user::whereDate('dateOfBirth', $today->day)->whereMonth('dateOfBirth', $today->isoFormat('DD'))->get();
return view('today',compact('user'));
}
提前谢谢你。
当您使用 whereDate 函数时,请确保您传入的日期与 sql format.You 可以使用函数 date('d-m-Y H:i:s');格式化当前时间
您可以使用 whereMonth
和 whereDay
$today=now();
$user=User::whereMonth('dateOfBirth',$today->month)
->whereDay('dateOfBirth',$today->day)
->get();
如果我没记错的话,类型列 dateOfBirth
是字符串。
所以你不能使用 whereMonth
和 whereDay
.
解决:
user::where('dateOfBirth', 'LIKE', '%' . Carbon::now()->format('-m-d'))->get();
或者
将类型 dateOfBirth
更改为 timestamp
。
我需要在我的应用程序中向用户发送生日祝福。
我有一个 table 用户,其列为 dateOfBirth。我需要一个查询来检索出生日期与今天匹配的用户。
例如,如果用户的出生日期值为 1983-08-07,我必须向用户发送生日祝福。 我使用了下面的代码,但给出的是空值,此查询没有任何结果。
public function today(Request $request)
{
$today = Carbon::now();
$date = today();
$user = user::whereDate('dateOfBirth', $today->day)->whereMonth('dateOfBirth', $today->isoFormat('DD'))->get();
return view('today',compact('user'));
}
提前谢谢你。
当您使用 whereDate 函数时,请确保您传入的日期与 sql format.You 可以使用函数 date('d-m-Y H:i:s');格式化当前时间
您可以使用 whereMonth
和 whereDay
$today=now();
$user=User::whereMonth('dateOfBirth',$today->month)
->whereDay('dateOfBirth',$today->day)
->get();
如果我没记错的话,类型列 dateOfBirth
是字符串。
所以你不能使用 whereMonth
和 whereDay
.
解决:
user::where('dateOfBirth', 'LIKE', '%' . Carbon::now()->format('-m-d'))->get();
或者
将类型 dateOfBirth
更改为 timestamp
。