質問編集履歴

1

質問文の全体的な書き換え

2020/01/28 01:03

投稿

parapra
parapra

スコア14

test CHANGED
File without changes
test CHANGED
@@ -2,70 +2,26 @@
2
2
 
3
3
 
4
4
 
5
- 現状していることは2つのテーブルからそれぞれデータを取得しその両方のうち取得レコードが多い方の数分ループさせています。
6
5
 
7
- そのループの中でデータを指定の数をSQLのlimitとoffsetを用いて取得し両方のデータの取得結果が得られなくなった時にループを抜けるようにしているのですがその中でループを抜ける一つ前のループの時に違う処理を入れたいのですがやり方がわからずに困っています。
8
6
 
9
- 何かご教示いただけると幸いです。
7
+ ```PHP
10
8
 
11
9
 
12
10
 
13
- ```Laravel
11
+ for ($gg = 0; $gg < 10; $gg ++) {
14
12
 
15
- $array1 = hoge::where('hoge_id', 1)->get(); // レコード数9
13
+ if ($gg == 9) {
16
14
 
17
- $$array2 = hogehoge::where('hogehoge_id', 2)->get(); // レコード数10
15
+ break;
18
16
 
19
- $array1_off = 0;
17
+ }
20
18
 
21
- $array2_off = 0;
22
-
23
-
24
-
25
- // レコード数の大きいほうの数を取得
26
-
27
-   $max_kazu = max($$array1->count(), $array2->count());
28
-
29
-
30
-
31
- for ($gg = 0; $gg < $max_kazu; $gg ++) {
32
-
33
-
34
-
35
- $array_list = hoge::where('hoge_id', 1)
36
-
37
- ->limit(4)
38
-
39
- ->offset($array1_off)
40
-
41
- ->get();
42
-
43
-
44
-
45
- $array_list2 = hogehoge::where('hogehoge_id', 2)->limit(3)
46
-
47
- ->offset($array2_off)
48
-
49
- ->get();
50
-
51
-
52
-
53
- $array1_off += 4;
54
-
55
-
56
-
57
- $array2_off += 3;
58
-
59
- //
60
-
61
- if ($array_list == '[]' && $array_list2 == '[]') {
62
-
63
- break;
19
+ }
64
20
 
65
21
  ```
66
22
 
67
23
 
68
24
 
69
- if文両方が「'[]'」なった時に抜けることはできるのですが両方が「'[]'」にな一歩手の時だけ処理を変えたいのです。
25
+ よう9回目ループを抜けることはできるのですが9回目ループを抜けで違う処理をたいのですがやり方がわからなくて困っています
70
26
 
71
- 文章がわかりにくく申し訳ありません
27
+ ご教授いただければ幸いです