ユーザーが2つの電子メールアドレス(email1とemail2)を入力できる登録フォームがあります。マーケティングの要件は、それらが一意である必要があるということです (10 人のユーザーがいる場合、10*2=20 の一意の電子メール アドレスがあるというように一意です)。
システムはすでに Cakephp で構築されているので、私が知りたいのは、箱から出してすぐにこれを実行できる isUnique 機能 (1 つのフィールドで一意) に似たものがあるかどうかです。それとも、これを自分でコーディングする運命にありますか? 前もって感謝します。
編集:リチャードの例に基づいて構築された、これは私にとってはうまくいきました:
function checkUnique($data, $fields) {
if (!is_array($fields)) {
$fields = array($fields);
}
foreach($data as $key) {
$checks = $key;
}
if (empty($checks)) {
return true; //allow null
}
foreach($fields as $key) {
$tmp[$key] = $checks;
}
if (isset($this->data[$this->name][$this->primaryKey])) {
$tmp[$this->primaryKey] = "<>".$this->data[$this->name][$this->primaryKey];
}
return $this->isUnique($tmp);
}