$send = $this->Melmaga->find('all',array('conditions' => array('site_id' => $ar ,'ngcount < ' => 3),'fields' => 'DISTINCT Melmaga.email , Melmaga.name,Melmaga.site_id'));
この、DISTINCT句を fieldsに指定してあげることで、
ユニークな email フィールドのみを取得する
ということができるみたい。
メールマガジンを送信するときに、メールアドレスが被っているユーザーにはメールを送信したくない。
そういう場合は
メールアドレスの被っているユーザーはいるか?
をやらないといけない。
ではどのようにするかというと
○melmaga.php モデルにて
$res = $this->query('SELECT * FROM `prefix_melmagas` GROUP BY `email` HAVING COUNT(`email`) > 1 AND kaburi != 1');//email フィールドがテーブル内で被っていて、kaburi フラグが 1じゃない ユーザーのみを読み出す
$ids = array();//このIDのものが重複なので、kaburiを1にする
foreach($res as $v){
$ids[] = $v['prefix_melmagas']['id'];
}
$update= array('Melmaga.kaburi' => 1);
//ここで $ids の id のユーザーのkaburiを全て 1にする
$this->updateAll($update,array('Melmaga.id' => $ids));
return $ids;
ってな感じかな。



