Zend フレームワークでバリデーターを作成しようとしています。
バリデーターはデータベースにクエリを実行して、特定のレコードが存在するかどうかを確認します。このクエリでは、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;