cakePHPでsumやcountを使う | ユーリの備忘録

ユーリの備忘録

日々の生活で思ったことや仕事の中で見つけたことなんかを記録。

cakePHPでsumやcountを使う時のメモ。


通常、

$fields = array('Model.field1', 'sum(field2) as fieldname');


とかにすると、


[Model][field1]

[0][fieldname]


とかいう形で返ってきて気持ち悪い。


調べてみると、「このソースをAppModelにぶちこめ」的なものを発見。


function afterFind($results, $primary=false) {
 if($primary == true) {
  if(Set::check($results, '0.0')) {
   $fieldName = key($results[0][0]);
   foreach($results as $key=>$value) {
    $results[$key][$this->alias][$fieldName] = $value[0][$fieldName];
    unset($results[$key][0]);
   }
  }
 }
 return $results;
}


これをAppModelにぶち込んでおくと、


[Model][field1]

     [fieldname]


という形で返ってきてすっきり。

ようやく理想の形で返ってくるようになった。