我有一个注册表格,用户可以填写两个电子邮件地址(email1和email2)。市场的要求是它们必须是唯一的(唯一的意思是如果我们有10个用户,那么就会有10*2=20个唯一的电子邮件地址)。
系统已经建立在cakephp上,所以我想知道是否有类似于isUnique功能(一个字段中的唯一性)可以直接完成这项任务?还是我注定要自己编写代码?谢谢。
编辑:根据Richard的示例构建,这对我起作用了:
系统已经建立在cakephp上,所以我想知道是否有类似于isUnique功能(一个字段中的唯一性)可以直接完成这项任务?还是我注定要自己编写代码?谢谢。
编辑:根据Richard的示例构建,这对我起作用了:
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);
}