質問編集履歴
1
記載内容の不備改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,20 +9,73 @@
|
|
9
9
|
|
10
10
|
### 起きている問題・自分の対処
|
11
11
|
|
12
|
+
■起きている問題
|
12
13
|
データのあるテーブルを見ると
|
13
14
|
レベルに応じてidが連番であてられていない。
|
14
|
-
(
|
15
|
+
(下記のような構成)
|
16
|
+
```
|
17
|
+
id|level_name
|
18
|
+
1|初級1-1
|
19
|
+
2|初級1-2
|
20
|
+
3|初級1-3
|
21
|
+
4|初級1-4
|
22
|
+
5|初級1-5
|
23
|
+
101|中級1-1
|
24
|
+
102|中級1-2
|
25
|
+
103|中級1-3
|
26
|
+
104|中級1-4
|
27
|
+
105|中級1-5
|
28
|
+
```
|
15
29
|
|
16
|
-
|
30
|
+
■自分の対処
|
17
31
|
そのレベルテーブルは今後変更されないと伺ったため
|
18
32
|
(されてもその場合は相当先)
|
19
33
|
以下のようなコードで乗り切ろうと思う。
|
20
34
|
|
21
35
|
```PHP
|
22
|
-
if($levelID ==
|
36
|
+
if($levelID == 1){
|
37
|
+
$minLevel=1;
|
38
|
+
$maxLevel=3;
|
39
|
+
}elseif($levelID == 2){
|
40
|
+
$minLevel=1;
|
41
|
+
$maxLevel=101;
|
42
|
+
}elseif($levelID == 4){
|
43
|
+
$minLevel=3;
|
44
|
+
$maxLevel=101;
|
45
|
+
}elseif($levelID == 5){
|
46
|
+
$minLevel=3;
|
47
|
+
$maxLevel=102;
|
48
|
+
}elseif($levelID == 101){
|
49
|
+
$minLevel=4;
|
50
|
+
$maxLevel=103;
|
51
|
+
}elseif($levelID == 102){
|
52
|
+
$minLevel=5;
|
53
|
+
$maxLevel=104;
|
54
|
+
}elseif($levelID == 104){
|
55
|
+
$minLevel=102;
|
56
|
+
$maxLevel=201;
|
57
|
+
}elseif($levelID == 105){
|
58
|
+
$minLevel=103;
|
59
|
+
$maxLevel=201;
|
60
|
+
}else{
|
61
|
+
$minLevel=$levelID - 2;
|
62
|
+
$maxLevel=$levelID + 2;
|
63
|
+
}
|
23
64
|
```
|
24
65
|
|
25
66
|
### 補足情報
|
26
67
|
|
27
68
|
ちなみに他手段としては以下だが
|
28
|
-
デメリットを考慮するとその手段を取らない決断に至った。
|
69
|
+
デメリットを考慮するとその手段を取らない決断に至った。
|
70
|
+
|
71
|
+
・idの振り直し
|
72
|
+
→他このような処理がないとも言えない。
|
73
|
+
古いシステムなので結構闇が深い。
|
74
|
+
id(101)などでファイル全件検索を掛けても良いが
|
75
|
+
それだけでは不安が拭えないため対応を見送った。
|
76
|
+
|
77
|
+
・連番の新規カラムを追加
|
78
|
+
→恥ずかしながら新規カラム追加を行ったことがない。
|
79
|
+
起こりうる不具合が把握できていなさすぎると感じため対応を見送った。
|
80
|
+
こういったコードが記載されていると不具合となる、
|
81
|
+
など見識のある方、ご教授いただけると幸いです。
|