by shigemk2

当面は技術的なことしか書かない

find('count')をやるときの注意

502 Bad Gateway

find('count') では、 fields に配列を渡してはいけない。
DISTINCT カウントを行うフィールドだけを指定するようにする。
そうすることで、条件に従った結果が常に同じになる。

つまり、

<?php
...
$publishedAuthors = $this->Article->find('count', array(
'fields' => 'DISTINCT Article.user_id',
'conditions' => array('Article.status !=' => 'pending')
));

というふうにするべきであって、

<?php
...
'fields' => array('Article.user_id');

とすると正しい結果は得られない。