我准备了一些注册表单(最简单的),并在我的模型中为电子邮件字段准备了一些验证:
'email' => array(
'mail' => array(
'rule' => array('email', true),
'required' => false,
'message' => 'Not correct e-mail!'),
'unique' => array(
'rule' => 'isUnique',
'message' => 'E-mail was registered!'))
但是规则 isUnique 不起作用。
此外,我将 MySQL 字段电子邮件更改为唯一,但仍然不起作用。
我使用 CakePHP 2.3.7
问题是当我们将翻译行为与模型一起使用时。
查询:
SELECT COUNT(DISTINCT(`User`.`id`)) AS count FROM `sometable`.`users` AS `User` INNER JOIN `sometable`.`i18n` AS `I18nModel` ON (`User`.`id` = `I18nModel`.`foreign_key` AND `I18nModel`.`model` = 'User' AND `I18nModel`.`locale` = 'pl') WHERE `User`.`email` = 'kicaj@kdev.pl'
现场电子邮件未翻译。