###前提
CakePHPでイベント管理システムを作るとして、データベースが次のような構成になっているとします。
events:イベントの情報を格納
customers: イベントごとの参加者情報を格納
events hasMany customersの関係で各イベントに対して複数の参加者が存在しcustomersテーブルにはeventsのidを格納するカラム「event_id」があります。
###やりたいこと
表題の通りqueryBuilderを使ってクエリを作成する際にhasMany関係にあるテーブルに対してsql関数を実行する方法を教えていただきたいです。
例えば、
eventsテーブルからqueryBuilderを使ってレコードを取り出す際に、eventsの全てのカラムに加えて、レコードに関連しているcustomersテーブルのレコード数をcount関数を使って取り出す場合や、関連しているレコードの特定のカラムをsum関数で合計するような場合です。
端的に言えば次のようなクエリを生成したいということです。
MySQL
1SELECT *, 2( select COUNT(*) from `customers` where `customers`.`event_id` = `events`.`id` ) 3FROM `events`;
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。