質問編集履歴
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,10 +4,18 @@
|
|
4
4
|
events:イベントの情報を格納
|
5
5
|
customers: イベントごとの参加者情報を格納
|
6
6
|
|
7
|
-
events hasMany customersの関係で各イベントに対して複数の参加者が存在しcustomersテーブルにはeventsのidを格納するカラムがあります。
|
7
|
+
events hasMany customersの関係で各イベントに対して複数の参加者が存在しcustomersテーブルにはeventsのidを格納するカラム「event_id」があります。
|
8
8
|
|
9
9
|
###やりたいこと
|
10
10
|
表題の通りqueryBuilderを使ってクエリを作成する際にhasMany関係にあるテーブルに対してsql関数を実行する方法を教えていただきたいです。
|
11
11
|
|
12
12
|
例えば、
|
13
|
-
eventsテーブルからqueryBuilderを使ってレコードを取り出す際に、eventsの全てのカラムに加えて、レコードに関連しているcustomersテーブルのレコード数をcount関数を使って取り出す場合や、関連しているレコードの特定のカラムをsum関数で合計するような場合です。
|
13
|
+
eventsテーブルからqueryBuilderを使ってレコードを取り出す際に、eventsの全てのカラムに加えて、レコードに関連しているcustomersテーブルのレコード数をcount関数を使って取り出す場合や、関連しているレコードの特定のカラムをsum関数で合計するような場合です。
|
14
|
+
|
15
|
+
端的に言えば次のようなクエリを生成したいということです。
|
16
|
+
|
17
|
+
```MySQL
|
18
|
+
SELECT *,
|
19
|
+
( select COUNT(*) from `customers` where `customers`.`event_id` = `events`.`id` )
|
20
|
+
FROM `events`;
|
21
|
+
```
|
1
文章の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,21 +1,13 @@
|
|
1
|
-
###前提
|
1
|
+
###前提
|
2
|
+
CakePHPでイベント管理システムを作るとして、データベースが次のような構成になっているとします。
|
2
3
|
|
4
|
+
events:イベントの情報を格納
|
3
|
-
|
5
|
+
customers: イベントごとの参加者情報を格納
|
4
|
-
■■な機能を実装中に以下のエラーメッセージが発生しました。
|
5
6
|
|
6
|
-
|
7
|
+
events hasMany customersの関係で各イベントに対して複数の参加者が存在しcustomersテーブルにはeventsのidを格納するカラムがあります。
|
7
8
|
|
8
|
-
```
|
9
|
-
|
9
|
+
###やりたいこと
|
10
|
-
|
10
|
+
表題の通りqueryBuilderを使ってクエリを作成する際にhasMany関係にあるテーブルに対してsql関数を実行する方法を教えていただきたいです。
|
11
11
|
|
12
|
-
###該当のソースコード
|
13
|
-
```ここに言語を入力
|
14
|
-
ここにご自身が実行したソースコードを書いてください
|
15
|
-
|
12
|
+
例えば、
|
16
|
-
|
17
|
-
###試したこと
|
18
|
-
課題に対してアプローチしたことを記載してください
|
19
|
-
|
20
|
-
|
13
|
+
eventsテーブルからqueryBuilderを使ってレコードを取り出す際に、eventsの全てのカラムに加えて、レコードに関連しているcustomersテーブルのレコード数をcount関数を使って取り出す場合や、関連しているレコードの特定のカラムをsum関数で合計するような場合です。
|
21
|
-
より詳細な情報
|