質問編集履歴

2

追記

2017/03/14 05:33

投稿

celeritas
celeritas

スコア11

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- events hasMany customersの関係で各イベントに対して複数の参加者が存在しcustomersテーブルにはeventsのidを格納するカラムがあります。
13
+ events hasMany customersの関係で各イベントに対して複数の参加者が存在しcustomersテーブルにはeventsのidを格納するカラム「event_id」があります。
14
14
 
15
15
 
16
16
 
@@ -23,3 +23,19 @@
23
23
  例えば、
24
24
 
25
25
  eventsテーブルからqueryBuilderを使ってレコードを取り出す際に、eventsの全てのカラムに加えて、レコードに関連しているcustomersテーブルのレコード数をcount関数を使って取り出す場合や、関連しているレコードの特定のカラムをsum関数で合計するような場合です。
26
+
27
+
28
+
29
+ 端的に言えば次のようなクエリを生成したいということです。
30
+
31
+
32
+
33
+ ```MySQL
34
+
35
+ SELECT *,
36
+
37
+ ( select COUNT(*) from `customers` where `customers`.`event_id` = `events`.`id` )
38
+
39
+ FROM `events`;
40
+
41
+ ```

1

文章の修正

2017/03/14 05:32

投稿

celeritas
celeritas

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1,41 +1,25 @@
1
- ###前提・実現したいこと
1
+ ###前提
2
+
3
+ CakePHPでイベント管理システムを作るとして、データベースが次のような構成になっているとします。
2
4
 
3
5
 
4
6
 
5
- (例)PHP(CakePHP)で●●なシステム作っています。
7
+ events:イベントの情報格納
6
8
 
7
- ■■な機能実装中に以下のエラーメッセージが発生しました。
9
+ customers: イベントごとの参加者情報格納
8
10
 
9
11
 
10
12
 
11
- ###発生して問題・エーメッセージ
13
+ events hasMany customersの関係で各イベントに対して複数の参加者が存在しcustomersテーブルにはeventsのidを格納すムがあります。
12
14
 
13
15
 
14
16
 
15
- ```
17
+ ###やりたいこと
16
18
 
17
- メッセージ
19
+ 表題の通りqueryBuilderを使ってクリを作成する際にhasMany関係にあるテブルに対してsql関数を実行する方法を教えていただきたいです。
18
-
19
- ```
20
20
 
21
21
 
22
22
 
23
- ###該当のソースコード
23
+ 例えば、
24
24
 
25
- ```ここに言語を入力
26
-
27
- ここにご自身が実行したソースコードを書いてください
28
-
29
- ```
30
-
31
-
32
-
33
- ###試したこと
34
-
35
- 課題に対してアプローチしたことを記載してください
36
-
37
-
38
-
39
- ###補足情報(言語/FW/ツールジョンど)
25
+ eventsテからqueryBuilderを使ってレコードを取り出す際に、events全てのカラムに加えて、レコドに関連しているcustomersテーブルのレコード数をcount関数を使って取り出す場合や、関連しているレコードの特定のカラムをsum関数で合計するよう場合です。
40
-
41
- より詳細な情報