質問編集履歴

6

追記

2023/02/09 06:30

投稿

Discord
Discord

スコア51

test CHANGED
File without changes
test CHANGED
@@ -53,7 +53,7 @@
53
53
  **追記**
54
54
  以下のように書くと良さそうでした!
55
55
  ```
56
- $cquery->where(DB::expr('JSON_CONTAINS(`QUALIFICATION`'), ',', '["1,2"]');
56
+ $cquery->where(DB::expr('JSON_CONTAINS(`company_ features`'), ',', '["1,2"]');
57
57
  ```
58
58
  結果
59
59
  ```

5

エラー内容追記

2023/02/09 06:25

投稿

Discord
Discord

スコア51

test CHANGED
File without changes
test CHANGED
@@ -59,8 +59,7 @@
59
59
  ```
60
60
  JSON_CONTAINS(`company_ features` , '[\"1,2\"]'
61
61
  ```
62
- バックスラッシュが入っているのでこれ消せればいけそうです。
62
+ バックスラッシュが入っているのと一番後ろに括弧つければいけそうなのですが、ここからうまくいきません
63
-
64
63
 
65
64
 
66
65
  記載方法が間違っているのかもしれません。

4

エラー内容追加

2023/02/09 06:00

投稿

Discord
Discord

スコア51

test CHANGED
File without changes
test CHANGED
@@ -50,6 +50,18 @@
50
50
  JSON_CONTAINS(`company_ features`,'[1,2]') = ''
51
51
  ```
52
52
 
53
+ **追記**
54
+ 以下のように書くと良さそうでした!
55
+ ```
56
+ $cquery->where(DB::expr('JSON_CONTAINS(`QUALIFICATION`'), ',', '["1,2"]');
57
+ ```
58
+ 結果
59
+ ```
60
+ JSON_CONTAINS(`company_ features` , '[\"1,2\"]'
61
+ ```
62
+ バックスラッシュが入っているのでこれを消せればいけそうです。
63
+
64
+
53
65
 
54
66
  記載方法が間違っているのかもしれません。
55
67
  ご教示お願いいたします。

3

エラー内容を追記

2023/02/09 05:17

投稿

Discord
Discord

スコア51

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,16 @@
40
40
 
41
41
  )
42
42
  ```
43
+ 以下、追記
44
+ ちなみにこのように書くと、nullにはならなりますが、思っていたSQLとは別のものになります。
45
+ ```
46
+ $query->where(DB::expr('JSON_CONTAINS(`company_ features``,' . "'[1,2]'" . ')'), '');
47
+ ```
48
+ この結果はこうなります。
49
+ ```
50
+ JSON_CONTAINS(`company_ features`,'[1,2]') = ''
51
+ ```
52
+
43
53
 
44
54
  記載方法が間違っているのかもしれません。
45
55
  ご教示お願いいたします。

2

エラー内容を追記

2023/02/09 04:58

投稿

Discord
Discord

スコア51

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,28 @@
19
19
  Fuel\Core\Database_Exception [ 42000 ]: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'null' at line 1 with query
20
20
  ```
21
21
 
22
+ ちなみに$queryをprint_rでみていると、以下のような感じでした。
23
+ ```
24
+ [_where:protected] => Array
25
+ (
26
+ [0] => Array
27
+ (
28
+ [AND] => Array
29
+ (
30
+ [0] => Fuel\Core\Database_Expression Object
31
+ (
32
+ [_value:protected] => JSON_CONTAINS(`company_ features`,'[1,2]')
33
+ )
34
+
35
+ [1] =>
36
+ [2] =>
37
+ )
38
+
39
+ )
40
+
41
+ )
42
+ ```
43
+
22
44
  記載方法が間違っているのかもしれません。
23
45
  ご教示お願いいたします。
24
46
 

1

エラーメッセージも追加

2023/02/09 04:38

投稿

Discord
Discord

スコア51

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,10 @@
14
14
  ```
15
15
  JSON_CONTAINS(`company_ features`,'[1,2]') null"
16
16
  ```
17
+ nullが最後につくため、以下のようなエラーメッセージも表示されます。
18
+ ```
19
+ Fuel\Core\Database_Exception [ 42000 ]: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'null' at line 1 with query
20
+ ```
17
21
 
18
22
  記載方法が間違っているのかもしれません。
19
23
  ご教示お願いいたします。