gpt4 book ai didi

php - Laravel 获取特定日期和月份的行

转载 作者:可可西里 更新时间:2023-11-01 08:29:21 25 4
gpt4 key购买 nike

我在 laravel 中有以下查询:

$eventos = EventsData::join('tbl_users', 'tbl_users.id_user', '=', 'tbl_events.id_user')
->where('tbl_users.birth_date', '>=', date("m-d")) //my error
->where('tbl_events.year', '>=', date("Y"))
->get();

我有一个用户表 (tbl_users),其中包含每个用户的生日日期。还有一个事件表(tbl_events),它记录了每个用户的周年纪念日。因此创建一个表,将获得下一个生日。

我的 birth_date 类型为“yyyy-mm-dd”。表 events 是 year。我想获取当前日期和年份的下一个事件。

即我认为周年纪念日必须大于当前月份和日期,并且年份最上面的事件为当前年份

最佳答案

先将 birth_date 格式化为 mm-dd,然后再与 date('m-d') 进行比较,如下所示:

$eventos = EventsData::join('tbl_users', 'tbl_users.id_user', '=', 'tbl_events.id_user')
->whereRaw("DATE_FORMAT( tbl_users.birth_date, '%m-%d') >= ?", array(date('m-d')))
->where('tbl_events.year', '>=', date("Y"))
->get();

更新

如果您的 tbl_events 没有完整的日期属性,您可以在 2 个查询中执行此操作:

首先获取今年剩余的事件:

$events_this_year = EventsData::join('tbl_users', 'tbl_users.id_user', '=', 'tbl_events.id_user')
->whereRaw("DATE_FORMAT( tbl_users.birth_date, '%m-%d') >= ?", array(date('m-d')))
->where('tbl_events.year', '=', date("Y")) // Get remaining events this year
->get();

其次,获取明年的事件:

$events_following_year = EventsData::join('tbl_users', 'tbl_users.id_user', '=', 'tbl_events.id_user')
->where('tbl_events.year', '>', date("Y")) // Get events for upcoming years
->get();

然后合并它们

$eventos = $events_this_year->merge($events_following_year);

关于php - Laravel 获取特定日期和月份的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31141048/

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