###前提・実現したいこと
cakephp3を使ってDB構築を行っています。
リレーショナルデータベースで
Districtに所属するBlockがあり
そのBlockに所属するAreaがあります。
DistrictsHasManyBlocks
かつ
BlocksHasManyAreas
です。
cakephp3のORMのクエリビルダを使い
BlockとAreaのそれぞれのカウントを取得したいです。
###発生している問題
ブロックのカウント(block_count)が正常に取得できません。 エリアのカウント(area_count)と同じになってしまいます。 エリアのカウントは正常に取得できています。
###該当のソースコード
php
1 $districts = TableRegistry::get('Districts'); 2 $data = $districts->find(); 3 $data->contain([ 4 'Blocks', 5 'Blocks.Areas', 6 ]) 7 ->select([ 8 'block_count' => $data->func()->count('Block.id') 9 'area_count' => $data->func()->count('Area.id') 10 ]) 11 ->leftJoinWith('Blocks.Areas') 12 ->autoFields(true);
###補足情報(言語/FW/ツール等のバージョンなど)
cakephp3
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/26 08:11