いくつかの登録フォーム (最も単純なもの) を準備し、私のモデルでは、電子メール フィールドの検証を準備します。
'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'
フィールドのメールは翻訳されていません。