2

我正在开发一个运动场预订系统,我需要生成一个“预订表”,将表头中的列显示为球场,将行显示为预订的时间段。

例如,

 ___________________________________
|           |           |           |
|  Court 1  |  Court 2  |  Court 3  |
|___________|___________|___________|
|           |           |           |
| 10.00 am  |  10.00 am | 10.00 am  |
|___________|___________|___________|
|           |           |           |
| 11.00 am  |  11.00 am | 11.00 am  |
|___________|___________|___________|

要求:

  • 一个俱乐部可以有任意数量的球场
  • 俱乐部可以有任何预订时间增量(例如,如上所示的 1 小时、30 分钟、40 分钟等)
  • 表格中的每个单元格代表一个“预订”

我想确保我从一开始就这样做,所以我有几个问题:

  1. 您将创建哪些实体来实现这一目标
  2. 您将如何生成此预订表
  3. 您如何将上表中的单元格链接到预订

提前致谢。

4

3 回答 3

2

好吧,我认为这是一种标准?

首先,您需要一个俱乐部实体。每个俱乐部可以有 n 个球场:

Club 1:n Court

然后是一个预订表,是1:n到法院的:

Court 1:n Booking

我不知道您的第二个要求是否意味着一个俱乐部有一个时间增量(在这种情况下,这是俱乐部实体上的一个变量)或者它是否可以有很多(比有一个 TimeIncrement 实体。

生成表可能有点棘手。考虑了几分钟,我得到了 5-6 个可能有效的解决方案。您可以使用特殊物品,您可以要求预订特定场地和时间并搜索收藏。我们可以建立一个数组,每次都有一个密钥,如果没有预订,则为空。每个球场有一个数组,而不是 2 个嵌套的 for 循环并从数组中读取每个值。您可以构建重新排列数据的查询,以便您可以直接使用它们。或者,也许您可​​以要求法院反对自己在特定日期和时间进行预订。但我想这就是开发人员的目的......找出最适合给定要求的方法并实施它。

于 2012-04-18T20:58:58.120 回答
1

我只是从数据库中查询数据并将其转换为 json 并将其传递到网站。然后前端可以使用 javascript 构建表。

为此,我将创建一个自定义实体 BookingTable,将请求中的数据直接作为数组返回,然后可以轻松地将其转换为带有json_encode.

然后,您可以专注于显示单个预订的更详细的页面,您将自动为其创建所需的实体(如果您尚未为表的自定义实体制定 DQL)。

于 2012-04-18T21:00:56.990 回答
1

您将创建哪些实体来实现这一目标

在我的脑海中,您似乎需要 3 个:俱乐部、球场、预订

您将如何生成此预订表

该表应该可能包含 id、court_id、start_time、end_time

您如何将上表中的单元格链接到预订

如上所述,开始/结束时间是预订表中的列。

于 2012-04-18T20:53:41.247 回答