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

CakePHPクッキング 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 に配列を渡してはいけません。
3.7.3.1.2 find(‘count’)

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です