cakephp: HAVING句を無理矢理使う 重複しているデータを取りたい

とある企業名

cakephpで 登録されてたデータを重複チェックをするのに、
count とかで集計して、2以上ある場合のみ取得したい場合、
そのままだと、全部取得して死んでしまいますので、
groupオプションに無理矢理HAVINGを噛ませる方法があるらしい。

$options = array(
	'conditions' => array(),
	'fields' => "name , count(Company.name) as cnt",
	'group' => 'Company.name HAVING count(Company.name) >= 2',
);
$dupNames = $this->Company->find('all' , $options );

気持ち悪いけどとりあえず取得出来てるのでコレで逝きましょう…。

※このケースだと、企業名の重複はデータとして存在するのでvalidate では弾いてない。

コメントを残す

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