[CakePHP]find(‘count’) の注意点

CakePHPクッキング

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 に配列を渡してはいけません。

3.7.3.1.2 find(‘count’)

fieldsを無視してcountしてくれるとうれしいなと思います。