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

2番目の要件が、1つのクラブに1つの時間増分があること(この場合、これはクラブエンティティの1つの変数)を意味するのか、それとも多くの時間増分を持つことができるのか(TimeIncrementエンティティよりも多い)はわかりません。

テーブルの生成には少し注意が必要です。数分間それについて考えると、私はうまくいくかもしれない5-6の解決策のようになりました。特定の裁判所と時間の予約を要求でき、コレクションを検索できる特別なオブジェクトを使用できます。毎回1つのキーがあり、予約がない場合はnullになる配列を作成できます。コートごとに1つの配列を用意し、2つのネストされたforループを実行して、配列からすべての値を読み取ります。データを直接使用できるようにデータを再配置するクエリを作成できます。または、特定の日時に裁判所のオブジェクト自体に予約を依頼することもできます。しかし、それが開発者の目的だと思います...与えられた要件に最適なものを見つけて、それを実装します。

于 2012-04-18T20:58:58.120 に答える
1

これを達成するためにどのエンティティを作成しますか

私の頭のてっぺんからあなたが必要になるように見えます3:クラブ、コート、予約

この予約テーブルをどのように生成しますか

テーブルはおそらくid、court_id、start_time、end_timeで構成されている必要があります

上記の表のセルを予約にどのようにリンクしますか

上記のように、開始/終了時間は予約テーブルの列です。

于 2012-04-18T20:53:41.247 に答える
1

データベースからデータをクエリしてjsonに変換し、Webサイトに渡します。その後、フロントエンドはjavascriptを使用してテーブルを作成できます。

そのために、リクエストに応じてデータを配列として直接返すカスタムエンティティ BookingTableを作成します。この配列は、で簡単にjsonに変換できますjson_encode

次に、必要なエンティティを自動的に作成する単一の予約を示すより詳細なページに集中できます(テーブルのカスタムエンティティのDQLをまだ作成していない場合)。

于 2012-04-18T21:00:56.990 に答える