gpt4 book ai didi

php - 检查日期是否已过期 Laravel 日期字段类型 SQL

转载 作者:行者123 更新时间:2023-12-04 01:46:12 25 4
gpt4 key购买 nike

在我的应用程序中,我必须检查某个日期是否已过期,因此必须发送电子邮件。日期保存在 Clients 表中。如何将检索到的日期增加 5 天,以便检查它是否会在 5 天后过期?我到现在为止拥有的功能。

public function handle() {

$users =\App\Client::select('subscription_ends_at')
->groupBy('subscription_ends_at')
->get();

$data_now = Carbon::now();

foreach($date_expired as $users ){
// $date_expired + 5 days

if($date_expired > $data_now){
//Send e-mail
}
}
}

最佳答案

您应该使用 whereDate() 将比较作为查询的一部分。在您的情况下,在 PHP 端过滤此数据没有任何好处:

$now = Carbon::now()->addDays(5);

$users =\App\Client::select('subscription_ends_at')
->groupBy('subscription_ends_at')
->whereDate('date_expired', '>', $now->toDateString()),
->get();

关于 Eloquent where 子句的文档 here .

编辑

你的查询对我来说是错误的。使用 groupBy() 将使其仅返回一小部分客户,将同一天到期的客户分组到一个条目中。这最终违背了发送通知的目的,因为不是每个人都会收到通知,所以我宁愿完全删除 groupBy()

关于php - 检查日期是否已过期 Laravel 日期字段类型 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com