質問編集履歴

1

コードのミスの修正

2023/04/17 14:08

投稿

h_e_llo
h_e_llo

スコア13

test CHANGED
File without changes
test CHANGED
@@ -22,17 +22,19 @@
22
22
 
23
23
 
24
24
  ```php
25
+ //beforeInsertはどのレコードの前に並び替えたいか(そのレコードのid)
26
+ $beforeInsert = intval($request->beforeInsert);
27
+
28
+ $order = array_map(function ($a){return $a['id'];}, Master::select('id')->orderby('sort_order')->get()->toArray());
29
+ $index = array_search($beforeInsert, $order, false);
30
+
25
31
  $create_record = Master::create($insert_data);
26
32
 
27
33
  $id = $create_record['id'];
28
- //beforeInsertはどのレコードの前に並び替えたいか(そのレコードのid)
29
- $beforeInsert = intval($request->beforeInsert);
30
- $order = array_map(function ($a){return $a['id'];}, Master::select('id')->orderby('sort_order')->get()->toArray());
31
- $index = array_search($beforeInsert, $order, false);
32
34
  array_splice($order, $index , 0, $id);
33
35
 
34
36
  foreach ($order as $key => $value) {
35
- Master::where('id','=',$value)->update(['sort_order' => $key]);
37
+ Master::where('id','=',$value)->update(['sort_order' => $key + 1]);
36
38
  }
37
39
 
38
40
  ```