teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

問題の追記

2016/11/17 16:32

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -23,4 +23,8 @@
23
23
  ですが24時周辺は予約が入りやすいので、一日の終わり時間を4時ごろにしようと思います。
24
24
  4時にした場合やはり日は超えてしまうので、見かけ上だけ日を超えさせておいて、裏で指定時間-4といった風に組んでやればなんとか出来るかなと考えています。
25
25
 
26
- 説明が下手で申し訳ありません。訂正点などご指摘いただけると訂正いたしますので、回答よろしくお願いします。
26
+ 説明が下手で申し訳ありません。訂正点などご指摘いただけると訂正いたしますので、回答よろしくお願いします。
27
+
28
+ ---
29
+ 2016年1月1日のシフトが25~27時だった場合、シフト上は1日のシフトですが、データとしては2016-01-02 1:00始まりとなると思います。
30
+ このような場合、どうやって1月1日のシフトとして認識すれば良いのでしょうか?

2

シフトテーブルの項目追加

2016/11/17 16:32

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,9 @@
4
4
  テーブル設計は以下のとおりです
5
5
  - ユーザテーブル
6
6
  - シフトテーブル(日毎にレコード作成、シフト開始時間終了時間を値として持つ)
7
+ - date(シフトの日付)
8
+ - start(開始時刻)
9
+ - end(終了時刻)
7
10
  - 予約テーブル(シフトテーブルに1:多として持たせる。何時から何時までの予約が入っているか値として持つ)
8
11
 
9
12
  システムとしては以下の通りです。

1

説明文の訂正

2016/11/17 15:08

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  ここでまた他のユーザから予約を入れようとした時、20~22の間は予約できますが、すでに22時の予約が入っているので、22~23時までの予約しかできないようになります。この判定は予約テーブルとシフトの時間から抽出できるかと思います。
17
17
 
18
- 問題は日付を超える場合だと思います。シフトブルは日毎に作成しているので、日をまたぐような予約だと、二つのシフトレコードを考慮しないといけないと思います。これだとあまりスマートな手法なのかなというのが引っかかっています。なので日を超える予約は不可にしようと思っています。
18
+ 問題は日付を超える場合だと思います。シフトレコは日毎に作成しているので、日をまたぐような予約だと、二つのシフトレコードを考慮しないといけないと思います。これだとあまりスマートな手法なのかなというのが引っかかっています。なので日を超える予約は不可にしようと思っています。
19
19
 
20
20
  ですが24時周辺は予約が入りやすいので、一日の終わり時間を4時ごろにしようと思います。
21
21
  4時にした場合やはり日は超えてしまうので、見かけ上だけ日を超えさせておいて、裏で指定時間-4といった風に組んでやればなんとか出来るかなと考えています。