Neuromance писал(а):И я что-то не очень понял, валидатор типа для определения уникальности чтоли? Зачем тогда изобретать велосипед?
Тут я кусок кода вложил, на самом деле код правило так выглядит:
Код: Выделить всё
public function ValidatorRelated()
{
if(!empty($this->page_id) && !empty($this->category_id)){
$result = self::model()->find(array(
'condition' => 'page_id = :page_id AND category_id='. $this->category_id,
'params' => array(':page_id' => $this->page_id),
));
if($result->option_id == $this->option_id)
$this->addError('page_id','Такая связь с категорией уже сушествует!');
}elseif(!empty($this->page_id) && empty($this->category_id)){
$result = self::model()->find(array(
'condition' => 'page_id = :page_id',
'params' => array(':page_id' => $this->page_id),
));
if($result->option_id == $this->option_id)
$this->addError('page_id','Такая связь со страницей уже сушествует!');
}
}
во общем я тут проверяю в таблице нет ли одинаковые связи, у меня есть много различные опции, их можно связать к страницам или к категориям, и вот я тут проверяю не связан ли данные уже раньше или нет: . а таблица в таком порядке | id | page_id | category_id | option_id |,