У меня есть пара столбцов (ip, provider_id), для которых я хочу, чтобы комбинации значений всегда были уникальными. Поэтому я пытаюсь создать пользовательскую функцию проверки. Но у меня проблемы с захватом значения вторичного поля. Это мой код до сих пор в модели:
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;
}
Итак, проблема в том, что когда я проверяю, какое значение загружается в поле $, это просто строка «provider_id». Я надеялся, что он будет содержать значение поля «provider_id». Кто-нибудь знает, как получить это значение (и все другие значения полей вторичной модели, если необходимо) и отправить его в пользовательскую функцию проверки?
Мое чтение в CookBook и люди, которые обсуждали подобные проблемы, казалось, предполагали, что это решение будет работать, но, к сожалению, не для меня.
Заранее спасибо!