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

回答編集履歴

3

修正

2019/06/22 03:13

投稿

m.ts10806
m.ts10806

スコア80890

answer CHANGED
@@ -10,5 +10,6 @@
10
10
  もっと言えば`Reservation::get(['reservation_date']);`も。
11
11
  カレント年月のカレンダーしか表示させないのでしたら年月で絞ったデータのみを取得するべきです。
12
12
  でないとデータが増えれば増えるほど無用なループが回り、パフォーマンスがどんどん悪くなります。
13
+
13
- 月のカレンダーに時間を表示させるのでれば、「その日のデータがあるかないか(または件数)」のみ分かればいいので、時間まで込みのデータは不要と思います。
14
+ 月のカレンダーに時間を表示させる必要がるかないかも検討が必要ですし通常は表示させません。「その日のデータがあるかないか(または件数)」のみ分かればいいので、時間まで込みのデータは不要と思います。
14
15
  group byで年月日で絞って日付毎のデータ件数だけ取っては。

2

修正

2019/06/22 03:13

投稿

m.ts10806
m.ts10806

スコア80890

answer CHANGED
@@ -1,11 +1,14 @@
1
1
  2回回っているわけではありません。
2
- $current_reserved_dateに2019-6-10のデータが2本あってどの日でもその分だけ回しているだけです。
2
+ $current_reserved_dateにデータが2本あってどの日でもその分だけ回しているだけです。
3
- 日でしか比較していないため全てelseに入りますね。
3
+ そして日でしか比較していないため10日以外は全てelseに入りますね。今の作りだと年月関係なく。
4
4
 
5
5
  つまり今の作りだとデータが増えれば増えるほどデータの件数だけ「空室」と表示されることになります。
6
6
  $current_reserved_dateのkeyを0から連番ではなく年月日にしておき、そのキーとカレンダーループの年月日全てで比較したほうが良いでしょう。
7
7
 
8
8
  なので、$reservations_arrayから$current_reserved_dateを作るロジックから見なおす必要があります。
9
9
 
10
-
10
+ もっと言えば`Reservation::get(['reservation_date']);`も。
11
+ カレント年月のカレンダーしか表示させないのでしたら年月で絞ったデータのみを取得するべきです。
12
+ でないとデータが増えれば増えるほど無用なループが回り、パフォーマンスがどんどん悪くなります。
13
+ 月のカレンダーに時間を表示させるのであれば、「その日のデータがあるかないか(または件数)」のみ分かればいいので、時間まで込みのデータは不要と思います。
11
- ```
14
+ group byで年月日で絞って日付毎のデータ件数だけ取っては。

1

修正

2019/06/22 03:11

投稿

m.ts10806
m.ts10806

スコア80890

answer CHANGED
File without changes