2015-06-19 4 views
0

Я предоставляю своим пользователям возможность изменить электронную почту своего аккаунта. Для этого, когда они отправляют новое электронное письмо, на которое они хотели бы перейти, я сохраняю это письмо в своей базе данных в качестве временного письма. Как только пользователь нажимает на письмо с подтверждением, отправленное на новое электронное письмо, их оригинальное электронное письмо будет заменено на новое электронное письмо. В моей таблице «users» у меня есть столбец «Электронная почта», а другой - «temp_email». Когда пользователь отправляет новое письмо в столбец «temp_email», я хотел бы подтвердить, что он уникален не только в столбце «temp_email», но и в столбце «email».В Yii, как вы проверяете уникальность в отношении другого столбца таблицы?

В настоящее время у меня есть эти два массива в моих правилах() функция:

массив ('temp_email', 'электронная почта'),
массив ('temp_email', 'уникальный', 'сообщение' => UserModule :: t («Этот адрес электронной почты этого пользователя уже существует.))

, в котором говорится, что временное электронное письмо должно быть в формате электронной почты и что оно не может быть таким же, как любое другое временное электронное письмо. Какой третий массив я должен добавить, говоря, что временное письмо не может быть таким же, как и любое другое электронное письмо в столбце «email»? Спасибо!

ответ

0

Вы можете добавить дополнительные атрибуты в правиле указать точные правила для уникальной проверки

array('temp_email', 'unique', 
     'className' => 'User', 'attributeName' => 'email', 
     'message' => "This user's email address already exists."),