我有一个应用程序,用户可以在其中查看今天或给定日期的体育赛事(如果用户在 URL 中手动输入)。用户可以使用 UI 控件按日期导航体育赛事,大致如下所示:
Tue Nov. 27 | Wed Nov. 28 | Thu Nov. 29
(日期是除了中间当前活动的链接之外的链接。)
此日期导航控件非常适合几乎每天发生的体育赛事。用户永远不会盯着空白页的事件。但是,对于 NFL 等体育赛事,事件仅发生在周一、周四、周日(有时是周六),用户使用日期导航 UI 控件变得很麻烦。
我想做的是更改创建日期导航 UI 链接背后的逻辑,以仅包含那些有事件的日期。逻辑是这样的:
- 给定今天的日期或用户提供的日期,返回最近的有事件的日期(current_date)
- 给定一个 current_date,找到最近的有事件的前一个日期(previous_date)
- 给定一个 current_date,找到最近的下一个有事件的日期 (next_date)
因此,对于 NFL,日期导航 UI 控件可能如下所示,假设今天的日期是 11 月 27 日:
Mon Nov. 25 | Thu Nov. 29 | Sun Dec. 2
判断给定日期是否有任何事件的方法是按start_time
数据库中的字段。
我不喜欢在没有代码的情况下发布问题,但我正在寻找一些指导,说明我应该如何解决这个问题,而不必多次访问数据库。
注意#1:当您单击一项运动的日期时,它会返回该日期的所有事件。日期导航不用于查看单个事件。