Ik heb een aantal kolommen (ip, provider_id) waarvoor ik wil dat combinaties van waarden altijd uniek zijn. Daarom probeer ik een aangepaste validatiefunctie te maken. Maar ik heb problemen met het betrekken van de waarde van het secundaire veld. Dit is mijn code tot nu toe in het model:
public $validate = array(
'ip' => array(
'rule' => array('uniqueClick', 'provider_id'),
'message' => 'The click is not unique.'
)
);
public function uniqueClick ($ip, $field) {
$count = $this->find('count', array('conditions' => array('ip' => $ip, 'provider_id' => $field)));
//echo $field;
return $count == 0;
}
Het probleem is dus dat wanneer ik test welke waarde in $ field wordt geladen, dit gewoon 'provider_id' is, een tekenreeks. Ik hoopte dat het de waarde van het veld 'provider_id' zou bevatten. Weet iemand hoe hij die waarde (en alle andere veldwaarden van het secundaire model indien nodig) moet grijpen en naar de aangepaste validatiefunctie kan sturen?
Mijn lezing in de CookBook en mensen die soortgelijke problemen hebben besproken, leken te suggereren dat deze oplossing zou werken, maar helaas niet voor mij.
Bij voorbaat dank!