В свободное время изучаю Yii2 и возник следующий вопрос.
Пользователь может иметь несколько/много номеров телефона. Регистрация на сайте по [ username | email | phone ].
Есть класс Phone (сделан по примеру Дмитрия Елисеева):
Код: Выделить всё
/**
* Phone model
*
* @property integer $id
* @property integer $user_fk
* @property integer $county
* @property integer $code
* @property integer $number
* @property boolean $primary
* @property integer $pincode
*/
class Phone extends ActiveRecord
{
....
}
Хочу сделать валидацию, чтобы номер телефона был уникальным. Телефон проверяется правилами:
Код: Выделить всё
class SignupForm extends Model
{
...
public function rules()
{
return [
....
['phone', PhoneValidator::className()],
...
];
}
}
Как проверить Phone на 'unique', ведь телефон разбит в базе на 3 сущности ( county | code | number ), а во входящих данных одна строка.
Может есть способ во время валидации её "подготовить" и вызвать 'targetClass' => '\common\models\Phone'.
Спасибо!