質問編集履歴

5

足りないフィールド名の追加

2020/01/31 03:00

投稿

Hir19
Hir19

スコア12

test CHANGED
File without changes
test CHANGED
@@ -14,17 +14,17 @@
14
14
 
15
15
  Sample Table
16
16
 
17
- |sample_id|code1|code2|code3|
17
+ |sample_id|code1|code2|code3|is_deleted|
18
18
 
19
- |:--|:--:|:--:|--:|
19
+ |:--|:--:|:--:|:--:|--:|
20
20
 
21
- |1|700|500|600|
21
+ |1|700|500|600|false|
22
22
 
23
- |2|600|100|null|
23
+ |2|600|100|null|false|
24
24
 
25
- |3|200|500|null|
25
+ |3|200|500|null|false|
26
26
 
27
- |4|800|500|600|
27
+ |4|800|500|600|false|
28
28
 
29
29
  |||||
30
30
 

4

文書、データ修正

2020/01/31 03:00

投稿

Hir19
Hir19

スコア12

test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  |2|600|100|null|
24
24
 
25
- |3|700|500|null|
25
+ |3|200|500|null|
26
26
 
27
27
  |4|800|500|600|
28
28
 
@@ -34,7 +34,7 @@
34
34
 
35
35
  リクエストが$codes = [100,200,300]としたら
36
36
 
37
- 検索結果として"sample_id = 2"のレコードを取得したい。
37
+ 検索結果として"sample_id = 2,3"のレコードを取得したい。
38
38
 
39
39
 
40
40
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  条件に引っかからない場合スルーしてほしいのにひっかかり、
46
46
 
47
- で返ってきてしまう
47
+ 全件で返ってきてしまう(is_deletedのfalseが原因?)
48
48
 
49
49
 
50
50
 

3

全体的にわかりにくいため例文コード含め修正

2020/01/31 02:12

投稿

Hir19
Hir19

スコア12

test CHANGED
File without changes
test CHANGED
@@ -6,11 +6,9 @@
6
6
 
7
7
 
8
8
 
9
- 現在検索機能を作っていまして、フロント側からリクエストが
9
+ 現在検索機能を作っていて、配列のリクエストが来た場合、
10
10
 
11
- $codes = [1,2,3]と配列のリクエストが来た場合、
12
-
13
- code1,code2,code3というフィールドにwhereInでAND検索をたい。
11
+ code1,code2,code3の3つのフィールドにAND検索を行いたい。
14
12
 
15
13
 
16
14
 
@@ -20,11 +18,13 @@
20
18
 
21
19
  |:--|:--:|:--:|--:|
22
20
 
23
- |1|9|0|9|
21
+ |1|700|500|600|
24
22
 
25
- |2|9|1|null|
23
+ |2|600|100|null|
26
24
 
27
- |3|9|0|null|
25
+ |3|700|500|null|
26
+
27
+ |4|800|500|600|
28
28
 
29
29
  |||||
30
30
 
@@ -32,7 +32,9 @@
32
32
 
33
33
  上記のテーブルがあった場合、
34
34
 
35
+ リクエストが$codes = [100,200,300]としたら
36
+
35
- 検索結果として"sample_id = 2"が出てきてほしい
37
+ 検索結果として"sample_id = 2"のレコードを取得
36
38
 
37
39
 
38
40
 
@@ -52,7 +54,7 @@
52
54
 
53
55
  ```php
54
56
 
55
- $mansion_query = Mansion::query();
57
+ $sample_query = Sample::query();
56
58
 
57
59
  $display = self::displayResultData();
58
60
 
@@ -62,9 +64,15 @@
62
64
 
63
65
  ->whereIn(self::SAMPLE_TABLE . '.code2', $codes)
64
66
 
65
- ->whereIn(self::SAMPLE_TABLE . '.code3', $ecodes)
67
+ ->whereIn(self::SAMPLE_TABLE . '.code3', $codes)
66
68
 
67
69
  ->select($display);
70
+
71
+
72
+
73
+     $result = $sample_query->get();
74
+
75
+
68
76
 
69
77
  ```
70
78
 
@@ -74,7 +82,11 @@
74
82
 
75
83
 
76
84
 
85
+ whereの文をコメントアウトし、WhereIn(self::SAMPLE_TABLE . '.code1', $codes, 'OR')
86
+
77
- 配列なのでWhereInでの記述にしましたなぜかsample_id =1,2,3すべてがれてまう
87
+ するとほい結果取れるが、deleteしたレコード得はたくないため、
88
+
89
+ whereの文を消せない。
78
90
 
79
91
 
80
92
 

2

テーブルデータ変更

2020/01/31 01:47

投稿

Hir19
Hir19

スコア12

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  |:--|:--:|:--:|--:|
22
22
 
23
- |1|9|0|null|
23
+ |1|9|0|9|
24
24
 
25
25
  |2|9|1|null|
26
26
 

1

$displayについての追記

2020/01/30 07:39

投稿

Hir19
Hir19

スコア12

test CHANGED
File without changes
test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  ```
70
70
 
71
-
71
+ ※$displayはselectで出したいフィールド名が書いてあります。
72
72
 
73
73
  ### 試したこと
74
74