前提・実現したいこと
PHP(CakePHP)でgroupとmatchingを同時に行いたい
発生している問題
下記の様に、Areaごとにまとめつつ、
結合テーブルのPostsにある外部キーのtype_idが1のみ抽出したいです。
$query=$this->Areas->find('all') ->group('Areas.id'); $query->matching('Posts', function ($q) { return $q->where(['type_id' => 1]); });
上記だと、うまく抽出できません。
どう書けばいでしょうか?
追記--
件数ではなく、データを取得したいです。
取得イメージ:
Areas:1[ Posts[ id,name,type_id:1,,area_id:1 id,name,type_id:1,,area_id:1 ], Areas:2[ Posts[ id,name,type_id:1,,area_id:2 id,name,type_id:1,area_id:2 ], ]
開発情報: Cakephp3 Mysql xampp
よろしくお願いします。