CakePHP で GROUP BY したときの COUNT(*) AS 〜〜 のデータの入り方が気持ち悪い件について
CakePHPのモデルでデータ取得するときにGROUP BYかけて、COUNT(*) AS num みたいにして値を取りたいときにデータの入り方がなんか気持ち悪い
コントローラ
<?php function index(){ $params = array( 'group' => 'hoge.value', 'fields' => array('key, COUNT(*) AS "num", value'), ); var_dump( $this->Hoge->find('all', $params) ); }
var_dump()の結果
array 'Hoge' => array 'key' => string '名称' (length=4) 'value' => string 'hogehogehoge' (length=12) 0 => array 'num' => string '1' (length=1)
以下みたいになってくれたらスッキリするのに・・・
array 'Hoge' => array 'key' => string '名称' (length=4) 'value' => string 'hogehogehoge' (length=12) 'num' => string '1' (length=1)
どうすればいいんだ?
調べてみた
同じことを思っている人もいるみたいで以下を参考に
【CakePHP】"group by" "count" "sum" などを使う:地方で活動するweb制作者の日々を綴るblog
ダブルクォーテーションで括ってもだめだった・・・orz
他のページ
[CakePHP] SUM,MAX,MINの結果を正しい配列形式にする | pc.casey.jp
ここは Model の afterFind 使って突っ込んじゃってる感じ
とりあえず、これで出来たからよしとするか、それとももっと調査するかは保留w