CakePHPのfind('count')の注意点

CakePHP#cakephp#カウント#フレームワーク

この記事は13年以上前に書かれたものです。内容が古くなっている可能性があります。

フレームワークは便利なところはありますが、

たまに不便に思うときもあります。

今回は不便?ではないですが、数時間はまってしまったので

残しておきます。

通常、CakePHPでデータ量(count)を取りたい時って

以下のような感じとかで取得します。

$params = array(
   'conditions' => array(
      'flag' = > 1,
   )
);

$count = $this->Model->find('count', $params);

ですが、ここでfieldsを指定してみるとどうでしょう。

$params = array(
   'conditions' => array(
      'flag' = > 1,
   ),
   'fields' => array(
      'id', 'flag'
   )
);

結果は正常にカウント取得が行えませんでした。。

find(‘count’)では、どうやらfieldsに配列を渡すのはいけないみたいです。

ドキュメントにもしっかり書いてありますね。

ちゃんとドキュメントを読まないとです。