rule unique для двойного ключа

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
aac68@mail.ru
Сообщения: 45
Зарегистрирован: 2013.12.12, 12:51

rule unique для двойного ключа

Сообщение aac68@mail.ru »

доброго здравия всем,
у меня проблема с двойным или тройным ключом при валидации
array(array('nos_id', 'spec_id'), 'unique'),
почему-то валидация идет по каждому, как и в случае
array('nos_id', 'speс_id', 'unique'), подскажите пожалуста вариант решения
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: rule unique для двойного ключа

Сообщение SiZE »

Ты б документацию сперва почитал

Код: Выделить всё

array(
    'список полей модели',
    'валидатор',
    'on'=>'имя сценария',
    'except'=>'имя сценария',
    'message'=>'сообщение об ошибке',
    …параметры валидации…
); 
список полей модели: поля модели для валидации, разделённые запятыми;

http://yiiframework.ru/doc/cookbook/ru/ ... .reference

P.S. Если тебе надо одновременно проверить два поля, для этого надо свое правило писать.
Аватара пользователя
aac68@mail.ru
Сообщения: 45
Зарегистрирован: 2013.12.12, 12:51

Re: rule unique для двойного ключа

Сообщение aac68@mail.ru »

Ну причем тут это. Я хочу узнать, если ли методы валидации двух полей как одного. Т.е. может и не правильно выразился, мне надо, когда два поля индексируются как один ключ. Когда два поля уникальны вместе, не порознь
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: rule unique для двойного ключа

Сообщение Nafania »

Можно, используйте criteria
Аватара пользователя
aac68@mail.ru
Сообщения: 45
Зарегистрирован: 2013.12.12, 12:51

Re: rule unique для двойного ключа

Сообщение aac68@mail.ru »

Nafania писал(а):Можно, используйте criteria
А какую критерию в моем случае написать, дайте пример пожалуста?
Аватара пользователя
aac68@mail.ru
Сообщения: 45
Зарегистрирован: 2013.12.12, 12:51

Re: rule unique для двойного ключа

Сообщение aac68@mail.ru »

Я читал, что в новых версиях yii после 1.1 - array(array('nos_id', 'spec_id'), 'unique'), форма role будет приемлема.
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: rule unique для двойного ключа

Сообщение Nafania »

http://lmgtfy.com/?q=yii+CUniqueValidator+multiple ->
http://yiihaa.com/validate-unique-const ... -attribute ->

Код: Выделить всё

public function rules() {
    return array(
        array('firstKey', 'unique', 'criteria'=>array(
            'condition'=>'`secondKey`=:secondKey',
            'params'=>array(
                ':secondKey'=>$this->secondKey
            )
        )),
    );
}
Аватара пользователя
aac68@mail.ru
Сообщения: 45
Зарегистрирован: 2013.12.12, 12:51

Re: rule unique для двойного ключа

Сообщение aac68@mail.ru »

Спасибо Nafania, это помогло,

public function rules() {
return array(
array('firstKey', 'UniqueAttributesValidator', 'with'=>'secondKey'),
);
}
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: rule unique для двойного ключа

Сообщение SiZE »

Изящный вариант, реализацию не смотрел. http://www.yiiframework.com/extension/u ... -validate/
Ответить