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

質問編集履歴

1

試したコードの追記

2019/02/18 07:56

投稿

aeofun
aeofun

スコア12

title CHANGED
File without changes
body CHANGED
@@ -9,17 +9,17 @@
9
9
 
10
10
  ```array
11
11
  array:3 [
12
- 0 => array:2 [
12
+ 0 => array:3 [
13
13
  "type" => 1
14
14
  "new_order" => 2
15
15
  "old_order" => 1
16
16
  ]
17
- 1 => array:2 [
17
+ 1 => array:3 [
18
18
  "type" => 1
19
19
  "new_order" => 3
20
20
  "old_order" => 2
21
21
  ]
22
- 2 => array:2 [
22
+ 2 => array:3 [
23
23
  "type" => 1
24
24
  "new_order" => 1
25
25
  "old_order" => 3
@@ -55,6 +55,56 @@
55
55
  1. old_orderとマッチするorderをnew_orderに更新
56
56
  2. orderが0のorderをold_orderに更新
57
57
 
58
+ ```php
59
+ $array = [
60
+ 0 => array:3 [
61
+ "type" => 1
62
+ "new_order" => 2
63
+ "old_order" => 1
64
+ ]
65
+ 1 => array:3 [
66
+ "type" => 1
67
+ "new_order" => 3
68
+ "old_order" => 2
69
+ ]
70
+ 2 => array:3 [
71
+ "type" => 1
72
+ "new_order" => 1
73
+ "old_order" => 3
74
+ ]
75
+ ]
76
+
77
+ foreach ($array as $value){
78
+ $db = DB::table("order_number")
79
+ ->where("order_number.type","=", $value["type"])
80
+ ->where("order_number.order","=", $value["old_order"])
81
+ ->get();
82
+
83
+ if (!($db[0]["order"] == $value["new_order"])) {
84
+ DB::table("order_number")
85
+ ->where("order_number.type","=", $value["type"])
86
+ ->where("order_number.order", "=", $value["new_order"])
87
+ ->update([
88
+ "order_number.order" => 0
89
+ ]);
90
+
91
+ DB::table("order_number")
92
+ ->where("order_number.type","=", $value["type"])
93
+ ->where("order_number.order", "=", $value["old_order"])
94
+ ->update([
95
+ "order_number.order" => $value["new_order"]
96
+ ]);
97
+
98
+ DB::table("order_number")
99
+ ->where("order_number.type","=", $value["type"])
100
+ ->where("order_number.order", "=", 0)
101
+ ->update([
102
+ "order_number.order" => $value["old_order"]
103
+ ]);
104
+ }
105
+ }
106
+ ```
107
+
58
108
  ## 補足情報(FW/ツールのバージョンなど)
59
109
 
60
110
  PHP 7.2.0