月曜日, 11月 30th, 2009 | Author: kyosuke

とある企業名

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

PHP:
  1. $options = array(
  2.     'conditions' => array(),
  3.     'fields' => "name , count(Company.name) as cnt",
  4.     'group' => 'Company.name HAVING count(Company.name)>= 2',
  5. );
  6. $dupNames = $this->Company->find('all' , $options );

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

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

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Leave a Reply