回答編集履歴

5

もっとわかりやすく

2019/06/03 12:29

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -6,16 +6,18 @@
6
6
 
7
7
  ```PHP:PHP
8
8
 
9
- $query -> func() -> sum('sid')
9
+ $query -> func() -> sum('resId')
10
10
 
11
11
 
12
12
 
13
13
  ```
14
14
 
15
+ - cakephp3公式 cookbookより
16
+
15
17
  [クエリービルダー](https://book.cakephp.org/3.0/ja/orm/query-builder.html)
16
18
 
17
19
 
18
20
 
19
-
21
+ -qiitaより
20
22
 
21
23
  [CakePHP 3のQueryBuilderの使い方をまとめてみた!](https://qiita.com/kozo/items/87dc9f725e71dd742468)

4

根本的な説明文を改めました

2019/06/03 12:29

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -2,7 +2,19 @@
2
2
 
3
3
 
4
4
 
5
+ ただ、countやsumといった集約関数はこのように記述するようです。
6
+
7
+ ```PHP:PHP
8
+
9
+ $query -> func() -> sum('sid')
10
+
11
+
12
+
13
+ ```
14
+
5
- なので、SQLの基本からして間違ってませんか?groupというメソッドはSQLでいうグループ関数に値するものなので、group句を使う場合は、where句での条件絞り込みは使えない、つまりwhereメソッドも使えませんよ。having句に相当するメソッド、**having**メソッドを使う必要があります。
15
+ [クエリービルダー](https://book.cakephp.org/3.0/ja/orm/query-builder.html)
16
+
17
+
6
18
 
7
19
 
8
20
 

3

findとは

2019/06/03 12:25

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -1,4 +1,8 @@
1
+ findメソッドはSQLのクエリを問い合わせてくれるメソッドなので、SQL準拠です。
2
+
3
+
4
+
1
- SQLの基本からして間違ってませんか?groupというメソッドはSQLでいうグループ関数に値するものなので、where句での条件、つまりwhereメソッド使えませんよ。having句に相当するメソッド、**having**メソッドを使う必要があります。
5
+ なので、SQLの基本からして間違ってませんか?groupというメソッドはSQLでいうグループ関数に値するものなので、group句を使う場合は、where句での条件絞り込みは使えない、つまりwhereメソッド使えませんよ。having句に相当するメソッド、**having**メソッドを使う必要があります。
2
6
 
3
7
 
4
8
 

2

havingの強調

2019/06/03 02:13

投稿

FKM
FKM

スコア3640

test CHANGED
File without changes

1

havingの強調

2019/06/03 02:05

投稿

FKM
FKM

スコア3640

test CHANGED
@@ -1,4 +1,4 @@
1
- SQLの基本からして間違ってませんか?groupというメソッドはSQLでいうグループ関数に値するものなので、where句での条件は使えませんよ。having句を使う必要があります。
1
+ SQLの基本からして間違ってませんか?groupというメソッドはSQLでいうグループ関数に値するものなので、where句での条件、つまりwhereメソッドは使えませんよ。having句に相当するメソッド、**having**メソッドを使う必要があります。
2
2
 
3
3
 
4
4