質問編集履歴

1

記載内容の不備改善

2020/07/22 06:31

投稿

Schneider
Schneider

スコア0

test CHANGED
File without changes
test CHANGED
@@ -20,15 +20,43 @@
20
20
 
21
21
 
22
22
 
23
+ ■起きている問題
24
+
23
25
  データのあるテーブルを見ると
24
26
 
25
27
  レベルに応じてidが連番であてられていない。
26
28
 
27
- 当時開発者にるデータ設計が甘いと思われるが、、
29
+ 下記のような構成
30
+
31
+ ```
32
+
33
+ id|level_name
34
+
35
+ 1|初級1-1
36
+
37
+ 2|初級1-2
38
+
39
+ 3|初級1-3
40
+
41
+ 4|初級1-4
42
+
43
+ 5|初級1-5
44
+
45
+ 101|中級1-1
46
+
47
+ 102|中級1-2
48
+
49
+ 103|中級1-3
50
+
51
+ 104|中級1-4
52
+
53
+ 105|中級1-5
54
+
55
+ ```
28
56
 
29
57
 
30
58
 
31
- の対応としては、
59
+ ■自分の対
32
60
 
33
61
  そのレベルテーブルは今後変更されないと伺ったため
34
62
 
@@ -40,7 +68,61 @@
40
68
 
41
69
  ```PHP
42
70
 
43
- if($levelID == 101){
71
+ if($levelID == 1){
72
+
73
+ $minLevel=1;
74
+
75
+ $maxLevel=3;
76
+
77
+ }elseif($levelID == 2){
78
+
79
+ $minLevel=1;
80
+
81
+ $maxLevel=101;
82
+
83
+ }elseif($levelID == 4){
84
+
85
+ $minLevel=3;
86
+
87
+ $maxLevel=101;
88
+
89
+ }elseif($levelID == 5){
90
+
91
+ $minLevel=3;
92
+
93
+ $maxLevel=102;
94
+
95
+ }elseif($levelID == 101){
96
+
97
+ $minLevel=4;
98
+
99
+ $maxLevel=103;
100
+
101
+ }elseif($levelID == 102){
102
+
103
+ $minLevel=5;
104
+
105
+ $maxLevel=104;
106
+
107
+ }elseif($levelID == 104){
108
+
109
+ $minLevel=102;
110
+
111
+ $maxLevel=201;
112
+
113
+ }elseif($levelID == 105){
114
+
115
+ $minLevel=103;
116
+
117
+ $maxLevel=201;
118
+
119
+ }else{
120
+
121
+ $minLevel=$levelID - 2;
122
+
123
+ $maxLevel=$levelID + 2;
124
+
125
+ }
44
126
 
45
127
  ```
46
128
 
@@ -53,3 +135,27 @@
53
135
  ちなみに他手段としては以下だが
54
136
 
55
137
  デメリットを考慮するとその手段を取らない決断に至った。
138
+
139
+
140
+
141
+ ・idの振り直し
142
+
143
+ →他このような処理がないとも言えない。
144
+
145
+ 古いシステムなので結構闇が深い。
146
+
147
+ id(101)などでファイル全件検索を掛けても良いが
148
+
149
+ それだけでは不安が拭えないため対応を見送った。
150
+
151
+
152
+
153
+ ・連番の新規カラムを追加
154
+
155
+ →恥ずかしながら新規カラム追加を行ったことがない。
156
+
157
+ 起こりうる不具合が把握できていなさすぎると感じため対応を見送った。
158
+
159
+ こういったコードが記載されていると不具合となる、
160
+
161
+ など見識のある方、ご教授いただけると幸いです。