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