CakePHPでcountを使った処理でハマったポイント。
通常使うときは、
$data = $this->Sample->find('count');
だったり、
$params = array( 'conditions' => array('status' => 1), ); $data = $this->Sample->find('count', $params);
のように使うのですが、$paramsをひとつ前の処理のものを流用したら、ハマりました。
$params = array( 'fields' => array('id', 'name'), 'conditions' => array('status' => 1), ); // 途中省略 $data = $this->Sample->find('count', $params);
どんな状態でもcountを呼び出せばカウントされると思っていたら、fieldsを指定していると正常に動きませんでした。
実際、Cookbookにもちゃんと書いてありました。
find(‘count’) では、 fields に配列を渡してはいけません。
fieldsを無視してcountしてくれるとうれしいなと思います。