Я пытаюсь написать валидатор в Zend Framework.
Валидатор запрашивает базу данных, чтобы проверить, существует ли конкретная запись, этот запрос использует предложение where. Значение для предложения where указывается другим полем в форме, так как мне передать это значение в валидатор?
Вот как я добавляю свой валидатор:
$adgroup_name->addValidator(new Generic_ValidateUniqueAdGroupName() ); break;
В моем валидаторе у меня есть:
// Query which gets an array of existing ad group names in db
$q = Doctrine_Query::create()
->select('a.name')
->from('AdGroup a')
->where('a.name = ?', $value)
->andWhere('a.campaign_id = ?', $campaign_id);
$adgroup_names_result = $q->fetchOne(array(), Doctrine::HYDRATE_ARRAY);
Как мне перейти в $ campaign_id? Я пробовал следующее, и это не работает:
$adgroup_name->addValidator(new Generic_ValidateUniqueAdGroupName($campaign_id) ); break;