我有一个注册表单,用户可以在其中填写两个电子邮件地址(email1 和 email2)。营销的要求是它们必须是唯一的(如果我们有 10 个用户,那么唯一的,那么将有 10*2=20 个唯一的电子邮件地址)。
该系统已经建立在 cakephp 上,所以我想知道的是,是否有类似于 isUnique 功能(在一个领域中唯一)可以立即执行此操作?还是我注定要自己编写代码?提前致谢。
编辑:建立在理查德的例子上,这对我有用:
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);
}